我在网上看了很多关于这个问题的文章(有些在这里),但是有很多不同的建议,其中很多已经过时了,所以我今天在这里问。..
我的用户表中有一个名为admin的字段。这是一个:boolean数据类型。我也有一个复选框的形式在我的看法所谓的管理员?- 我希望能够创建TRUE和FALSE相应的表格记录时,提交的形式。
我的视图代码的一部分是:
Admin User? <%= f.check_box :admin? %>
我也在post_params中允许了这一点-这是必要的步骤吗?
params.require(:staff).permit(:name, :email, :password, :password_confirmation, :admin?)
当我提交表格的时刻,管理员?场不受影响。任何建议将不胜感激。
3条答案
按热度按时间fhg3lkii1#
不需要命名为“:admin?“
在你的表单中使用这个:
允许的参数如下:
应该可以
kokeuurv2#
对于任何有一个不属于对象的形式的人来说。
我发现使用复选框语法如下:
然后在控制器端:
会给予你正确的
do_this
的布尔值。示例:
**编辑:**以上已弃用,用途:
ActiveRecord::Type::Boolean.new.type_cast_from_database(value)
它给出了与上述示例相同的结果。
**Rails 5:**以上选项在Rails 5中不起作用。请使用以下命令:
ActiveRecord::Type::Boolean.new.cast(value)
xbp102n03#
可能您没有允许控制器通过参数接受admin字段。换句话说,这是一个强参数的问题。确保允许在model_params中使用:admin。