Ruby on Rails设计宝石

时间:2012-09-23 13:34:36

标签: ruby-on-rails devise

我正在尝试使用我的rails 3.2项目的devise gem,但是当我尝试检查sign_in页面时,我收到以下错误:

wrong number of arguments (3 for 2)

提取的来源(第3行):

<h2>Sign in</h2>

<%= form_for(resource_name, resource, :url => session_path(resource_name)) do |f| %>
    <p><%= f.label :email %></p>
    <p><%= f.text_field :email %></p>

我究竟做错了什么?

2 个答案:

答案 0 :(得分:2)

您向form_for方法传递了错误数量的参数,因为它只接受2个参数。

有关此方法的文档,请参阅http://apidock.com/rails/ActionView/Helpers/FormHelper/form_for

您可能应该将第3行写成:

<%= form_for(resource, :url => session_path(resource_name)) do |f| %>

答案 1 :(得分:1)

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