ruby-on-rails - check_box 在 haml form_for 中不起作用

标签 ruby-on-rails ruby forms checkbox haml

我使用 form_for 标签制作了一个表单。我必须制作一个带有内联标签的复选框字段,如

[checkbox] 请勾选此选项

我一直在尝试许多以前对我有用的选项,但这次它甚至不可见。当我检查元素时,我得到这样的值。

 = form_for (@subscription ||= Subscription.new),  :html => { :class => "validate formtastic franchise_application", }, url: '/contact_information', :id => "advanced_subscription_form",  :method => "post" do |f|
  %div

    %p
      = f.check_box :is_subscribed, :type => "visible", :value => "1", :checked => "1", :label => "Check here"

输出是这样的

<input name="subscription[is_subscribed]" value="0" type="hidden">
<input value="1" name="subscription[is_subscribed]" id="subscription_is_subscribed" type="checkbox">

我尝试了很多方法,但复选框在屏幕上不可见 = check_box_tag "subscription[is_subscribed]",0, :is_subscribed, :visible => true -#=check_box_tag("is_subscribed")

      -#= check_box_tag :subscription_is_subscribed, 1, :name => "subscription[is_subscribed]"
      -#%input{:name => "subscription[is_subscribed]", :type => "visible", :value => "1"}
      -#%input#subscription_is_subscribed{:name => "subscription[is_subscribed]", :type => "checkbox", :hidden => "false", :value => "1"}
      -#= f.check_box(:is_subscribed, "1", "1")
      -#= f.check_box('subscription','is_subscribed')
      -#= f.label :is_subscribed, :required => false, :hidden => false do
      -#  There you go
      -#  = f.check_box :is_subscribed, :required => false, :hidden => false, :value => true

第一个现在有一个非常好的html源

= check_box_tag "subscription[is_subscribed]",0, :is_subscribed, :visible => true
<input name="subscription[is_subscribed]" id="subscription_is_subscribed" value="0" visible="true" checked="checked" type="checkbox">

这个隐藏的值(value)是如何在这里显示的。如果有人在这里帮助我,我将非常感激。 我正在使用 Ruby2.2.0 Rails 4.2

最佳答案

使用 check_box helper rails 为每个带有选中复选框的项目提供一个额外的 ghost 项目,该项目仅具有该属性,分配给“0”。

例子

= check_box("user", "terms")
# => <input name="user[terms]" type="hidden" value="0" />
# => <input checked="checked" type="checkbox" id="user_terms" name="user[terms]" value="1" />

在您的情况下,最好使用 check_box_tag

= check_box_tag 'terms'
# => <input id="terms" name="terms" type="checkbox" value="1" />

不要忘记 = 开始这一行...

关于ruby-on-rails - check_box 在 haml form_for 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33936783/

相关文章:

mysql - 如何从事件记录对象获取数据库 sql 值?

javascript - 未终止的正则表达式文字js错误

ruby-on-rails - 无法摆脱 Google 的 pagespeed 洞察警告(该网站有一个阻止 css)

ruby net/http 打开连接很慢

表单中的 Django ImageField 未上传,从管理员工作但不从表单工作

ruby-on-rails - in_groups_of(3) 但仅适用于前 3 组

ruby-on-rails - 在 try 和 and 之间推荐哪种语法。当我们在 Ruby on Rails 中处理 nil 值时?

ruby-on-rails - 我在 ruby​​ 1.8.7 上有一个新的 Rails 3 应用程序,迁移到 1.9 有何影响?

html - Paypal 定期付款表格

java - Spring 中的 CancellableFormController