Rails的客户端验证form_for错误

时间:2013-06-12 10:12:36

标签: ruby-on-rails client-side-validation

我正在使用客户端验证rails gem,我收到此错误。任何想法......

错误的参数数量(3个用于2个) 提取的来源(第1行):

<%= form_for @user, :validate => true do |f| %>

模板包含跟踪:app / views / users / new.html.erb

4 个答案:

答案 0 :(得分:11)

Rails 4支持

感谢tagliala&amp; bcardarellaclient_side_validation gem现在支持rails 4!

添加

gem 'client_side_validations'

到我的 Gemfile ,它没有正确加载所有内容。

这可能是暂时的,Rubygems only links the old version。 相反,我必须指定确切的存储库&amp;分支,因为所有者改变了。

gem 'client_side_validations', github: "DavyJonesLocker/client_side_validations", branch: "4-2-stable"

答案 1 :(得分:4)

基于https://github.com/bcardarella/client_side_validations/issues/494,看起来CSV似乎不会再支持Rails 4了。

然而它也说明了

  

我没有看到CSV 4.0在Rails 4.0登陆后至少2个月出现(希望不会那么久),因为JavaScript方面会有重大变化。因为它需要更长的时间,人们会想要一个符合Rails 4.0的CSV版本,建议他们使用master分支或者发布alpha或pre版本来部分满足它们,而我们更新时可能是正确的选项。

所以也许尝试从git中提取csv?有一个4.0 beta分支可能值得尝试...

<强>更新

不再主动维护CSV gem。存储库中有3个不同的4.0分支,最近更新的分支是4-0可用(https://github.com/bcardarella/client_side_validations/branches/all)。

更新2

正如@TheChamp所说,CSV gem现在支持rails 4.2!

答案 2 :(得分:2)

如果您使用Rails 4,那么客户端验证已过时。你可以在这里查看

http://railscasts.com/episodes/263-client-side-validations?view=comments

以及如果你去github页面

https://github.com/bcardarella/client_side_validations

你可以看到它已经不再维护了。

或者,您可以尝试使用此分支中的CSV gem,方法是将Gemfile中的CSV行替换为

gem'client_side_validations',github:“bcardarella / client_side_validations”,: branch =&gt; “4-0-β”

即使这会起作用也不确定。自其过时。

或者你可以检查这个宝石,

https://github.com/kalkov/rails4_client_side_validations

它只是客户端验证的修改版本

答案 3 :(得分:1)

您是否按照github page上的所有说明进行操作?如果是这样,你重新启动了服务器吗?安装添加一个初始化程序,在服务器重新启动之前不会生效。