#ruby-on-rails-3
#ruby-on-rails-3
Вопрос:
Я вложил свои ресурсы (см. Ниже), и когда я пытаюсь создать новую сущность, я получаю следующую ошибку. Кто-нибудь знает, почему я получаю эту ошибку и как ее решить?
неопределенный метод `applications’ для nil:NilClass
resources careers do
resources applications
end
В контроллере «Приложения» у меня есть:
before_filter [[:authenticate, :except => :new], :load_career]
def create
# The following line is where the error originates
@application = @career.applications.new(params[:application])
respond_to do |format|
...
end
end
private
def load_career
@career = Career.find(params[:career_id])
end
Модели Career
и Application
имеют has_many :applications
и belongs_to :career
соответственно.
И в миграции ‘*_create_applications’ есть career_id
поле.
Ответ №1:
Я никогда не видел, чтобы before_filters определялись таким образом. Я только что попробовал это в Rails 3, и, похоже, это ничего не дает. Я бы дал каждому обратному вызову свой собственный вызов before_filter:
before_filter :authenticate, :except => :new
before_filter :load_career