根据布尔值检查Rails check_box_tag

Val*_*ris 10 ruby ruby-on-rails

在我的数据库中,我有一个布尔字段:is_in_city.

在视图中,我尝试设置check_box_tag为:

= check_box_tag c.is_in_city
Run Code Online (Sandbox Code Playgroud)

但即使db值为true,也永远不会检查它.怎么了?

我需要这样做chekbox,根据存储在数据库中的db boolean字段值来检查no /.我怎样才能做到这一点?另外,如何将我的属性设置为复选框?

MrY*_*iji 22

正确使用该check_box_tag方法是这样的:

= check_box_tag :name, value, checked
Run Code Online (Sandbox Code Playgroud)

哪里value可以是任何东西,checked(应该是)一个布尔值.

在你的情况下:

= check_box_tag :is_in_city, 1, c.is_in_city
Run Code Online (Sandbox Code Playgroud)

这里的文档:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-check_box_tag