如何覆盖设计注册控制器

时间:2012-04-24 19:09:54

标签: ruby-on-rails controller devise

我正在处理此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

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

1 个答案:

答案 0 :(得分:0)

他甚至犯了错误?另一件事,你改变了你的路线.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