이벤트 내에 이벤트 모델과 Q + A 모델이 있습니다. 내가 거기에 이벤트 show.html.erb
, 내가 질문을 게시하는 양식 모두를 내부에, 지금이매개 변수에 액세스하는 대신 리소스가 많이 중첩 된 레일
을 할 수있는 다른 방법, 그리고 각 질문이있을 것인지 확신하지 레일에 새로 온 사람
당신이 내 show.html.erb
내부의 질문은 EventQuestionsController
를 통해 라우팅되는 것을 작성하고 내가 PARAMS 통해 EVENT_ID에 액세스 할 때 형식은
라우트 지금
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 매개 변수를 직접 결정할 수 있어야하므로 id 매개 변수에 직접 액세스 할 필요가 없습니다. 내가 말하는 것에 대한 아이디어를 얻으려면 아래의 내 답변을 참조하십시오. – kobaltz
이전에 내가 한 일에 대한 아이디어를주기 위해'event_questions_controller'를 추가했습니다. 내 event_answers_controller와 비슷한 것을하려고했습니다. 양식에서 내 event_answers를 찾는 방법에 대해 머리를 감싸려고합니다. 또한 어떻게'create' 변수에 접근 할 수 있습니까? 내가 보여준 것과 똑같은 일을 할 수 있습니까? 이상한 물건을 무시할 수 있습니다.이 프로젝트에서는 SQL DB를 사용하지 않습니다. – Clam