Rails将单独的编辑注册表单设计为两种形式

时间:2013-10-04 22:49:56

标签: ruby-on-rails devise registration edit

我想将Devise的编辑注册表单分成两个单独的页面,例如站点/编辑和站点/设置。设置页面将用于密码,电子邮件等字段,而编辑仅用于用户信息。我将如何实现这一点我还没有真正找到这方面的文档。

1 个答案:

答案 0 :(得分:2)

我自己想出了这个,我没有必要创建一个单独的模型,试图保持一切简单,以便将来集成。我会为可能遇到此问题的其他人发布我的答案。感到惊讶的是没有更明确的文件。

创建一个独立的RegistersController,它继承自Devise生成的控制器:

class RegistrationsController < Devise::RegistrationsController
    def settings
        @member = current_member
        if @member 
            render :settings
        else
            render file: 'public/404', status: 404, formats: [:html]
         end 
    end
 end

在您的Devise注册文件夹中创建相应的视图(我刚刚从现有的编辑表单中复制了我需要的字段),然后调用路线中的方法:

devise_scope :member do 
     root :to => 'devise/registrations#new'
     match '/settings' => 'registrations#settings', as: :settings
end