【发布时间】:2015-10-13 04:28:55
【问题描述】:
我一直在尝试让这个东西工作一段时间,但似乎没有任何东西可以让它工作,我已经从可用的示例中尝试了很多东西,但它们都不起作用。我不确定我的控制器上发生了什么具有正确的强参数并且表单具有正确的属性。
无论如何,这是我的代码:
def survey_params
params.require(:survey).permit(:name, :status, :user_id,
questions_attributes:[:id, :question_content, :survey_id])
end
有问题的属性是状态,每当我将它放在我的表单中时,它似乎都不想使用它。这是我的表格:
<%= form_for(@survey) do |f| %>
<% if @survey.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@survey.errors.count, "error") %> prohibited this survey from being saved:</h2>
<ul>
<% @survey.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<%= f.fields_for :questions do |builder| %>
<%= render 'question_fields', f: builder %>
<% end %>
<div class="field">
<%= f.check_box :status%>
<%= f.label :status, "Publish(only check this if you are sure
this is your final version of the survey)"%>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
相关部分是这样的:
<div class="field">
<%= f.check_box :status%>
<%= f.label :status, "Publish(only check this if you are sure
this is your final version of the survey)"%>
</div>
我还确保这是在调查模型中:
class Survey < ActiveRecord::Base
belongs_to :user
has_many :questions, dependent: :destroy
validates_presence_of :name
accepts_nested_attributes_for :questions
end
所以我不明白为什么它不起作用,因为一切都设置好了,所以它起作用了。我也尝试过使用check_box_tag(:status),它也不起作用。它应该在数据库中插入 1 或 0。不知道它的设置方式是否已经应该发生,我看到有些人说他们插入真或假,但是数据库中的布尔值(据我所知)只是 1 或 0。
【问题讨论】:
-
布尔列通常允许
TRUE、FALSE或NULL,而不仅仅是 1 和 0。 -
好的,没关系,除了我现在得到的是一列整数而不是布尔值。也许如果我改变它,这可行吗?
标签: ruby-on-rails ruby ruby-on-rails-4 checkbox