我正在将我的应用程序更新到我正在使用的 Rails 4
<%= form_for @application do |f|%>
<%end-%>
对于表单标签,但它总是给我
wrong number of arguments (3 for 2)
我正在将我的应用程序更新到我正在使用的 Rails 4
<%= form_for @application do |f|%>
<%end-%>
对于表单标签,但它总是给我
wrong number of arguments (3 for 2)
我得到了同样的错误,这是由于 client_side_validation gem。这个 gem 与 rails 4 中的 form_for 冲突
如果您使用 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 标签所在的位置没有不必要的空白。
要使用 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
问题可能在这里
<%end-%>
应该是
<%end%> #no hyphen after the 'd'
但是,如果是这种情况,我不确定为什么会抛出该错误。form_for
和之间有什么关系end
吗?