1

我正在将我的应用程序更新到我正在使用的 Rails 4

<%= form_for @application do |f|%>
<%end-%>

对于表单标签,但它总是给我

wrong number of arguments (3 for 2)
4

4 回答 4

2

我得到了同样的错误,这是由于 client_side_validation gem。这个 gem 与 rails 4 中的 form_for 冲突

于 2013-12-13T09:02:33.953 回答
1

如果您使用 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 => "4-0-beta"

不确定即使这会起作用。因为它已经过时了。

或者你可以看看这个宝石,

https://github.com/kalkov/rails4_client_side_validations

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

而对于空白的东西。哈哈。它可以用在 <% end %> 标签的开头或结尾。它仅适用于早期版本的 Rails,因为在 Rails 3 中不再需要它。如果 erb 标签没有输出,它将自动被剥离,因此 erb 标签所在的位置没有不必要的空白。

于 2014-01-27T09:33:22.197 回答
1

要使用 simple_form 成功安装“客户端验证”,您应该直接从 Github 使用最新分支检查最新版本。

发布的 gem 不适用于 Rails >= 4.0

gem 'client_side_validations', github: 'DavyJonesLocker/client_side_validations'
gem 'client_side_validations-simple_form', github: 'DavyJonesLocker/client_side_validations-simple_form'

确保您的 gem 文件不使用这些版本

client-side Validation 3.2.5
client_side_validations-simple_form 2.1.0

这些版本不支持 rails 4.2.0

有关更多详细信息,请查看此链接, https://github.com/DavyJonesLocker/client_side_validations-simple_form/issues/41

于 2015-05-02T10:01:07.380 回答
0

问题可能在这里

<%end-%>

应该是

<%end%> #no hyphen after the 'd'

但是,如果是这种情况,我不确定为什么会抛出该错误。form_for和之间有什么关系end吗?

于 2013-09-23T19:03:41.670 回答