首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >布尔属性未通过check_box保存

布尔属性未通过check_box保存
EN

Stack Overflow用户
提问于 2014-05-30 23:06:23
回答 1查看 215关注 0票数 0

我有一个作业模型,其属性为:rush,这是一个布尔值。我使用check_box表单助手来切换:rush。

复选框表单元素:

代码语言:javascript
复制
<%= check_box_tag(:rush) %>
<%= label_tag(:rush, "Rush?") %>

我的强参数方法:

代码语言:javascript
复制
def job_params
  params.require(:job).permit(:recipient, :age, :ethnicity, :gender, :height, :weight, :hair, :eyes, :other_info, :instructions, :user_id, :company_id, :case_id, :rush, addresses_attributes:[:id, :label, :addy, :apt, :city, :state, :zip ] )
end

创建操作:

代码语言:javascript
复制
def create
  @job = Job.new(job_params)
  @job.user_id = current_user.id

  if @job.save
    redirect_to current_user
  else
    render 'new'
  end
end

当表单提交时,它不会保存:rush -所有其他属性--包括嵌套属性--都保存得很好。我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-30 23:10:13

因为你的职能是:

代码语言:javascript
复制
params.require(:job).permit(:recipient, :age, :ethnicity, :gender, :height, :weight, :hair, :eyes, :other_info, :instructions, :user_id, :company_id, :case_id, :rush, addresses_attributes:[:id, :label, :addy, :apt, :city, :state, :zip ] )

然后,您将期望:rush嵌套在:job中,即params[:job][:rush]。因此,您应该将其嵌套到html中的job属性中:

代码语言:javascript
复制
<%= check_box_tag("job[rush]") %>

这应该能行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23964609

复制
相关文章

相似问题

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