【问题标题】:Rails: validates_acceptance_of acting crazyRails:validates_acceptance_of 表现得很疯狂
【发布时间】:2010-04-15 04:02:00
【问题描述】:

这张图有什么问题?

型号:

validates_acceptance_of :terms_of_service, :on => :create, :accept => true, :allow_nil => false
accessor :terms_of_service

查看:

<%= check_box :organisation,'terms_of_service', {:style => "margin-left:0px"}, 1, 0 %>

在数据库中我有 organizations.terms_of_service。

每次我收到“必须接受服务条款”时

如果我使用

<%= check_box :organisation,'terms_of_service', {:style => "margin-left:0px"}, true, false %>

验证仍然失败。

如果我关闭 :accept => true,则验证似乎通过了,但是当我查看 postgres 时,它显示为 false。 Rails 不应该铸造这些东西吗?

为什么我好像不能说:

型号:

validates_acceptance_of :terms_of_service, :accept => true

查看:

check_box blah, blah, options, true

并在我的数据库中看到一个真实的?

有什么想法吗?

相关信息:数据库是 Postgres 并运行 Rails 2.1

【问题讨论】:

  • 我很好奇为什么您需要 TOS 属性的访问器声明。不是为数据库列添加元程序吗?
  • 哇!那解决了它。这是其他一些摆弄的剩余物……太明显了,我看不到。谢谢!如果您想创建一个实际答案,我可以将其标记为已解决。

标签: ruby-on-rails validation


【解决方案1】:

删除 TOS 属性的 accessor 声明。

【讨论】:

    【解决方案2】:

    试试

    <%= check_box :organisation,'terms_of_service', {:style => "margin-left:0px"}, '1', '0' %>
    

    【讨论】:

      猜你喜欢
      • 2014-04-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多