Ruby on rails:错误的参数数量(Devise和parsley-rails gems)

时间:2014-12-30 14:08:29

标签: ruby-on-rails ruby devise parsley.js

目前我有工作设计形式,但现在我尝试使用parsley-rails添加一些客户端验证。 如果我只能包含2个参数

,如何在form_for帮助器中包含3个参数

我正在使用

Rails 4.1.8
ruby 2.1.5p273

所以这是我的表格:

 <%= form_for(resource as: resource_name, url: registration_path(resource_name)) do |f| %>
      <%= devise_error_messages! %>

      <div class="field">
        <%= f.label :username %><br />
        <%= f.text_field :username, autofocus: true %>
      </div>

        <div class="field">
        <%= f.label :email %><br />
        <%= f.email_field :email %>
      </div>

      <div class="field">
        <%= f.label :password %>
        <% if @validatable %>
        <em>(<%= @minimum_password_length %> characters minimum)</em>
        <% end %><br />
        <%= f.password_field :password, autocomplete: "off" %>
      </div>

      <div class="field">
        <%= f.label :password_confirmation %><br />
        <%= f.password_field :password_confirmation, autocomplete: "off" %>
      </div>

        <hr>

      <div>
        <%= f.label :country_id %>
        <%= f.select(:country_id, options_from_collection_for_select(Country.all, :id, :name)) %>
      </div>

        <br><br>

      <div class="actions">
        <%= f.submit "Sign up" %>
      </div>
    <% end %>

    <%= render "devise/shared/links" %>

这是parsley-rails指令: 然后我将以下内容添加到我希望在

上验证的表单中
 <%= form_for :user, :html => {:"data-validate" => 'parsley'} do |user| %>

当我尝试包含此行时,即使我删除了该行,我也总会收到错误:html =&gt; {:&#34;数据验证&#34; =&GT; &#39;欧芹&#39;}行

wrong number of arguments (3 for 2)

Extracted source (around line #3):      

<h2>Sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true) do |f| %>
<%= devise_error_messages! %>
<div class="field">

1 个答案:

答案 0 :(得分:0)

我发现了如何包含它。 这就是form_for应该是什么样子

<%= form_for(resource, :html => {:'data-validate' => 'parsley'}, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
....
<% end %>