我有一个事件模型和事件内部的Q + A模型。Rails深入嵌套资源替代访问参数
我新的轨道所以不知道是否有这样做
眼下,事件show.html.erb
,我既有一种形式张贴问题中的另一种方法,而每个问题都会有一个当您创建,它正在通过EventQuestionsController
路由我show.html.erb
内部的问题,我通过PARAMS访问事项标识的形式张贴解答
的路线,如今
resources :events do
resources :event_questions, only: [:create, :destroy]
end
坐这样的权利。我是否必须以同样的方式使用我的event_answer
?
而我的意思是,我必须在event_questions中嵌套event_answers。我需要知道event_id和event_question_id。
如果这是访问参数的唯一方法。它会是这样吗?
resources :events do
resources :event_questions, only: [:create, :destroy] do
resources :event_answers, only: [:create, :destroy]
end
end
event_questions_controller.rb
def create
@event_question = EventQuestion.new(event_question_params)
if @event_question.save
event = Event.find(params[:event_id])
@event_question.event = event
redirect_to event
else
redirect_to :back
end
end
show.html.erb
<%= form_for(@event_question, :url => event_event_questions_path(@event)) do |f| %>
# form stuff
<% end %>
我开始改变我的回答形式本
<%= @event.event_questions.each do |q| %>
<%= q.question %>
<%= q.fields_for :answers do |a| %>
<%= a.label :answer %>
<%= a.text_field :answer %>
<%= a.submit "Answer" %>
<% end %>
<% end %>
我张贴的答案可以帮助你,没有看到你的控制器和视图的相关部分,它可以很难协助。然而,你不应该真的需要直接访问id参数,因为你的代码应该能够为你确定它。看到我的答案,以了解我指的是什么。 – kobaltz 2014-11-22 04:47:57
我添加了我的'event_questions_controller',让你知道我之前做了什么。我打算用我的event_answers_controller做类似的事情。我试图围绕我的表单寻找我的event_answers。另外,我将如何访问我的'create'中的变量。我能像你所做的那样做同样的事吗? 你可以忽略奇怪的东西B/C我没有使用这个项目的SQL DB。 – Clam 2014-11-22 05:49:38