繁体   English   中英

如何更改设计,以便我可以添加其他几个字段并将其显示为配置文件信息

[英]How to change devise such that i can add few other fields and show it as profile information

我正在关注https://github.com/plataformatec/devise_example.git这真的很好,但我需要做一些补充,不知道该怎么做。

我想为iphone app创建一个api,初始流程是通过注册创建新用户,然后必须通过邮件确认帐户,一旦确认,用户可以登录并查看他的详细信息,如姓名,电子邮件,密码,语言,国家等...但在此示例中,登录后我们可以查看帐户信息但密码字段为空,然后只有两个字段的电子邮件和密码。 另外我想知道这个设计示例是否可以用作api,请告诉我如何将其他字段(如语言,国家和类似的东西)添加到用户帐户信息中。 如果这是不可能的,那么我怎么能做所有这些事情。请帮助我。 还告诉我是否有任何例子。

使用devise创建的用户模型在很多方面与其他模型一样,因此您可以通过迁移对其进行修改。 在您的控制台中,在rails应用程序根目录:

rails g migration AddCountryAndLanguageAndNameAndEmailToUsers country:string language:string name:string email:string
rake db:migrate

您当然必须修改您的视图(可能还有模型中的attr_accessible行)来添加这些字段。

Devise不存储用户的密码; 相反,它存储密码的哈希值。 直接存储用户密码通常被认为是一种不好的做法。 但是,如果您已设置它,则没有理由不能修改上述迁移以包含纯文本密码列。

使用JSON:

Rabl是JSON模板的绝佳宝石。

否则,在您的用户控制器中:

class UsersController
  def show
    @user = User.find params[:id]
    respond_to do |format|
      format.html
      format.json { render json: @user }
    end
  end

  def index
    @users = User.all
    respond_to do |format|
      format.html
      format.json { render json: @users }
    end
  end
end

等等...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM