【发布时间】:2014-06-03 22:25:35
【问题描述】:
我正在尝试创建一个具有选项的表单,如果通过复选框选择该选项,则会向数据库返回 true 或 false。我已经像这样将列添加到我的数据库中
rails g migration AddWantSellToPosts want_sell?:boolean
并且还向控制器页面添加了必要的参数,以便数据通过。但是,没有值返回到数据库。我怀疑这是我在 Rails 中实现 check_box,但我仍然不确定。
这是 html.erb
<%= f.text_field :price, :id => 'price' %>
<%= f.check_box :want_sell? %>
这是posts_controller.rb
before_action :authenticate_user!, only: [:new, :create, :destroy]
....
@post = Post.new params[:post].permit(:description, :picture, :tag_names, :price, :want_sell?)
@post.user = current_user
我应该补充一下,我是 Rails 和一般编码的新手,所以我可能会遗漏一些非常明显的东西!
谢谢
【问题讨论】:
-
将列重命名为
want_sell,want_sell?是一种动态方法,Rails 将提供该方法来检查布尔值是否为真/假。另外,你在保存帖子吗?我看到了@post = Post.new,但没有看到@post.save。 -
嗨达米安,做到了。谢谢。
标签: ruby-on-rails ruby activerecord checkbox boolean