设计Rails 3:form_for抛出未定义的局部变量或方法

时间:2011-05-20 13:09:24

标签: ruby-on-rails-3 devise

我在rails 3 app中使用设计。我给一些用户注册其他用户的能力。这些注册只会将带有id和email的新记录添加到users表中。我的路线包含标准设计项目。

在我的邀请函中:

def new
  @invitations = blah blah # creates a list of people already invited

  @user = User.new # for the person begin invited

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @invitations }
  end
end

该视图包含已邀请的人员列表,然后是添加新用户的表单。我正在使用设计注册表中的代码。也许我不需要这样做? new.html.erb中的以下行会产生错误:

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

错误:

undefined local variable or method `resource' for #<#<Class:0x103655be0>:0x1036537f0>

谢谢!

2 个答案:

答案 0 :(得分:1)

您是否从Devise的注册控制器继承了您的注册控制器?

答案 1 :(得分:0)

我通过以下方式解决了这个错误:

<% form_for :user, :url => create_invitation_invitations_path(@user) do |f| %>

我们会看到我是否遇到其他并发症。

更新:没有并发症。