用户名rails设计

时间:2013-03-02 11:21:48

标签: ruby-on-rails devise

我是铁杆新手。在决定发布问题之前,我一直在寻找答案。我找到的2个答案对我不起作用。

所以我安装并配置了模型“post”和“devise”gem。

然后我在用户中添加了“用户名”

rails generate migration add_username_to_users username:string

然后关系

用户 - >有很多,后 - >属于用户。

但我被卡住了。

我究竟如何检索要使用帖子呈现的用户名?

<%= post.user.username =%> ?

还有什么需要做的?

post.rb

class Post < ActiveRecord::Base
  attr_accessible :postbody, :posttitle
  validates_presence_of :postbody, :posttitle
  belongs_to :user

end

class Post < ActiveRecord::Base attr_accessible :postbody, :posttitle validates_presence_of :postbody, :posttitle belongs_to :user end

user.rb

class User < ActiveRecord::Base

# Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :username, :email, :password, :password_confirmation, :remember_me
  # attr_accessible :title, :body

  has_many :posts

2 个答案:

答案 0 :(得分:0)

您没有提到您遇到的错误类型。 但是它可能会出现关于未定义属性的错误。 通过在attr_accessible :username模型中添加User来访问用户名。

答案 1 :(得分:0)

我猜你的意思是“设计”,对吗? 我不确定您的错误(可能显示整个迁移),但我建议您对数据库进行重置,而不是添加迁移。 只需加上

t.string :username

到create_users迁移。然后

rake db:migrate:reset