首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从check_box更新属性

问从check_box更新属性
EN

Stack Overflow用户
提问于 2015-06-09 16:04:39
回答 1查看 121关注 0票数 0

我在我的第一个Rails应用程序中使用嵌套模型,现在我遇到了一个问题。我有一个调查模型,has_many :questions,这反过来又是belongs_to :survey和模型问题has_many :answers。我的回答模型是belongs_to :问题。

现在,我想更新一个布尔属性:我的:答案控制器中的猜测。为此,我创建了一个新的动作:quiz_guess,如下所示:

代码语言:javascript
复制
      def quiz_guess
         Answer.update(params[:id], guess: false)
             puts("Guess saved")
         redirect_to(:action => 'show', :id => @survey.next, :survey_id => @survey.id)  
      end

我的看法如下:

代码语言:javascript
复制
    <%= 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 %>

显然,我已经阅读了文档以及这个博客帖子,但是我不知道如何在控制器和视图中实现它。

使用此代码,我无法更新正确的:猜测属性,而是更新不同的属性(使用不同的:id)。有人能说明我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-14 11:19:21

最后,我看了这个铁道,Ryan展示了如何用fields_for更新多个属性。这是我的新观点:

代码语言:javascript
复制
   <%= form_tag quiz_guess_questions_path, :method => :put do %>
     <% for question in @survey.questions do %>
        <li><%= question.content %></li>
         <% for answer in question.answers do %>
          <li>
            <%= fields_for "answers[]", answer do |f| %>
              <%= answer.content %>  
              <%= f.check_box :guess %>    
            <% end %>
          </li>
         <% end %>
     <% end %>
    <%= submit_tag "Guess" %>
   <% end %>

我的新掌门人:

代码语言:javascript
复制
  def quiz_guess
     Answer.update(params[:answers].keys, params[:answers].values)
     flash[:notice] = "Guess saved successfully."
     redirect_to questions_url
  end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30737300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档