У меня две модели. События и вопросы.
Событие имеет много вопросов.
Я пытаюсь создать новый вопрос из представления Events # show.
Ссылка выглядит как что-то вроде / events /: event_id / questions / new. Но при нажатии выдает ошибки -
undefined method `model_name' for NilClass:Class
Я предполагаю, что произошла ошибка либо с моим _form.html, либо с новым методом в контроллере вопросов.
Может кто-нибудь помочь, пожалуйста?
Event.rb
class Event < ActiveRecord::Base
has_many :questions
end
Question.rb
class Question < ActiveRecord::Base
belongs_to :event
end
routes.rb
resources :events do
resources :questions
end
События - show.html.erb
<p> <%= link_to "Ask", new_event_question_path(@event) %> </p>
Вопрос к контроллеру
before_filter(:get_event)
private
def get_event
@event = Event.find(params[:event_id])
end
def new
@question = Question.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @question }
end
end
_form.html.erb
<%= form_for([@event,@question]) do |f| %>
<% if @question.errors.any? %>
<div id="error_explanation">
........
........
......
<div class="actions">
<%= f.submit %>
</div>
<% end %>