我正在尝试创建一个具有选项的表单,如果选中该选项,则通过复选框将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和编码的新手,所以我可能会遗漏一些非常明显的东西!
由于
答案 0 :(得分:1)
正如我的评论......
将列重命名为want_sell
,want_sell?
是一种动态方法,Rails可用于检查布尔值是否为true / false。另请务必致电@post.save
。