我有一個事件模型和事件內部的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