1

我正在根据这个railscast处理邀请,并且我正在我的应用程序中使用设计进行身份验证。我想实现这段代码:

def new
  @user = User.new(:invitation_token => params[:invitation_token])
  @user.email = @user.invitation.recipient_email if @user.invitation
end

内部设计。这涉及覆盖注册控制器。这是注册控制器中的新操作:

  def new
    resource = build_resource({})
    respond_with resource
  end

我对编码比较陌生,并试图筛选设计代码并弄清楚发生了什么,但似乎令人生畏。这有什么简单的吗?如何通过覆盖设计注册控制器来实现该代码?

4

1 回答 1

0

他竟然报错了?另一件事,你改变了你的 routes.rb?例子:

devise_for :users, :controllers => { :registrations => "registrations" }

在他的方法“new”中,添加超级

def new
  @user = User.new(:invitation_token => params[:invitation_token])
  @user.email = @user.invitation.recipient_email if @user.invitation
  super
end
于 2012-04-24T21:31:23.353 回答