您好我必须开发一个类似GoogleForm的应用程序我已经开发了表单/问题/答案,现在我必须让我的表单“回答”#39;所以我创建了一个模型Poll(一个Form has_many民意调查和一个民意调查属于一个表格)。我有这个错误https://projet.../formulaires/131/polls/new,我不明白如何处理它。
我的routes.rb:
resources :formulaires do
resources :polls
end
我的polls_controller:
def index
@polls = @formulaire.polls.order("created_at DESC")
end
def show
end
def new
@poll = Poll.new
end
def create
@poll = @formulaire.poll.new(poll_params)
@polls = @formulaire.polls.order("created_at DESC")
if @poll.save
redirect_to formulaire_polls_path(@formulaire)
end
end
def poll_params
params.require(:poll).permit(:formulaire_id, :question_id, :answer_id, :nom)
end
end
我的民意调查/ _form视图测试它:
<%= form_for([@formulaire, @formulaire.polls.new]) do |f| %>
<h2> Test</h2>
<%= f.label :nom %>
<%= f.submit %>
<% end %>
答案 0 :(得分:0)
@polls = @formulaire.polls.order("created_at DESC")
您在哪里定义@formulaire
?
你需要......
@formulaire = Formulaire.find(params[:formulaire_id]
@polls = @formulaire.polls.order("created_at DESC")
您需要在create
方法中使用相同的行。实际上,在所有CRUD方法之前调用的before_action中分配@formulaire
可能是有意义的。