Ich bin auf Rails 2.3.5 und ich habe dieses Problem:Warum wird Rails before_filter zweimal aufgerufen, wenn der Controller unterklassifiziert ist?
class BaseController < ApplicationController
before_filter :foo, :only => [:index]
end
class ChildController < BaseController
before_filter :foo, :only => [:index, :show, :other, :actions]
end
Das Problem ist, dass auf ChildController, die: foo vor Filter zweimal aufgerufen wird.
Ich habe eine Reihe von Problemumgehungen für dieses Problem versucht. Wenn ich die Aktion :index
nicht in das Kind einbeziehe, wird sie nie für diese Aktion aufgerufen.
Die Lösung fand ich funktioniert, aber ich denke, es ist sehr, sehr hässlich
skip_before_filter :foo
before_filter :foo, :only => [:index, :show, :other, :actions]
Gibt es einen besseren Weg, um dieses Problem zu lösen?