轨道和设计 - 添加一个字段以登录



我已经建立了一个博客,使用 Devise 插件安全登录,并且运行良好。我将在注册时添加一个额外的"用户名"字段,然后文章帖子将显示此信息。我如何实现这一点,以便用户名进入数据库 - 任何代码帮助将不胜感激?

用户名必须是唯一的,但我稍后会研究这一点。

正如 Devise wiki sez:

创建迁移

rails generate migration add_username_to_users username:string

运行迁移

rake db:migrate

修改用户模型并将用户名添加到attr_accessible

 attr_accessible :username

更多信息在这里

对于唯一性,您可以对用户模型进行验证

希望这有帮助!

好的,

所以你在同一主题中有 2 个问题。

第一个问题已得到解答,您按照以下步骤操作: 添加自定义字段进行设计

然后对于您的下一个问题:问题不在于用户,而在于@article,因为此变量nil。所以 Rails 找不到与nil的东西相关的User

您应该发布您的控制器和您的_article视图,以便我可以进一步提供帮助。

我也不明白你的意思:

我将对象从"电子邮件"更改为"用户名",以阻止它在文章中显示提交者的电子邮件地址

..您可以选择要显示的任何内容,而无需替换任何内容。如果要显示用户的用户名,只需执行user.username

  • 在 article.rb 中添加belongs_to :user,并将has_many :articles添加到您的 user.rb
  • 更新项目迁移以包含 user_id:整数字段(或使用 t.references :user
  • 更新文章控制器#创建操作以使用current_user.create_articlebuild_article
  • 请务必调用 authenticate_user! before_filter 的 :create 操作before_filter :authenticate_user!, only => :only => [:new, :create, :edit, :update, :d estroy]

裁判:http://guides.rubyonrails.org/association_basics.html

相关内容

  • 没有找到相关文章