0
我在第一个Ruby on Rails应用程序中使用了嵌套模型,现在我遇到了一个问题。我有一个has_many的调查模型:问题依次属于:调查和模型问题has_many:答案。我的答案模型然后属于:问题。从check_box更新属性
现在我想更新一个布尔属性:在我的:answers控制器中猜测。为此我创建了一个新的动作:quiz_guess看起来像这样:
def quiz_guess
Answer.update(params[:id], guess: false)
puts("Guess saved")
redirect_to(:action => 'show', :id => @survey.next, :survey_id => @survey.id)
end
我的看法是这样的:
<%= form_tag quiz_guess_questions_path, :method => :put do %>
<% for question in @survey.questions do %>
<li><%= h question.content %></li>
<% for answer in question.answers do %>
<li><%= h answer.content %>
<%= form_for :guess do |f| %>
<%= f.check_box(:guess, :method => :put) %>
<% end %>
</li>
<% end %>
<% end %>
<% end %>
显然我读过documentation,以及本blog post ,但我不明白如何在我的控制器和视图中实现它。
有了这段代码,我无法更新正确的:guess属性,而是更新了另一个(使用不同的:id)。任何人都可以阐明我做错了什么?
您可以使用Ajax更新记录 –
当然,我会看看成说。 – ljnissen