2015-04-06 66 views
0

我可以定制设计登录使用旧的登录表(其中有用户名,密码和其他东西)。没有使用设计建造。定制设计轨登录旧登录表

如果有可能,那么如何做到这一点。

+0

如果其中一个答案帮助你,请给予好评/接受或解释一下你还在挣扎。 – jcuenod 2015-04-07 16:37:00

回答

0

我假设你的意思是你有额外的东西,你想添加到用户模型?你可以使用'sanitize'方法来设计。

我不知道你用Devise得到了多少,所以我只是从一开始就覆盖它。

宝石添加到您的Gemfile中,然后运行:

rails g devise:install 

一旦安装,生成你的用户模型传递任何额外的东西,你想添加。电子邮件和密码默认添加。在这个例子中,我将传递一个用户名,为字符串现在

rails g devise User username:string 

用户已经生成,可以为设计视图运行生成器:

rails g devise:views 

,这将产生一个整体一堆与设计相关的东西,但是您需要的两个主要东西是edit.html.erbnew.html.erb视图文件,这两个文件都位于app/views/devise/registrations中。

在这些文件中,为表单添加额外字段,以便您可以传递用户注册和用户编辑帐户中的信息。

<%= f.label :username %> 
<%= f.text_field :username %> 

一旦这个形式,它会显示在注册页面上,但它不会被保存到用户帐号不消毒的选项。在你application_controller.rb文件,你需要添加以下内容:

before_filter :configure_permitted_parameters, if: :devise_controller? 

def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) << :username 

    devise_parameter_sanitizer.for(:account_update) << :username 
end 

这将允许你保存的用户名,因为你已经告诉设计,这是一个允许的参数。

一旦你拥有了它保存起来,然后你可以继续使用:用户名登录这里是你如何能实现将物品=)>https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-sign-in-using-their-username-or-email-address

+0

不,我很确定OP意味着他有一个登录系统,有用户名和密码等等,但现在他想切换到设计,而不是失去他所有的用户 – jcuenod 2015-04-06 13:26:24

+0

啊,我的坏!删除我的答案,如果是这样的话!抱歉 – abbott567 2015-04-06 13:27:31