我有两个型号。活动和问题。 活动有很多问题。 我正在尝试从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 %>
答案 0 :(得分:2)
你已经在问题控制器的开头宣布私有,所有在此之后也是私有的,你的行动也被宣布为私有剪切它并在私有之前粘贴它然后尝试
答案 1 :(得分:1)