数据库新闻 - >用户在RoR上关联

时间:2012-02-13 11:06:45

标签: sql ruby-on-rails ruby model

我刚刚开始在Ruby on Rails上开发,我对复杂的模型关系提出质疑。

我想知道在我要求新闻时如何获得用户信息。如何创建使这成为可能的关联模型?

-- USER --
t.integer   :uid
t.string    :username
t.string    :password
t.string    :email
t.string    :firstname
t.string    :lastname
t.integer   :promo
t.integer   :access_level
t.datetime  :birthday
t.datetime  :last_login


-- NEWS --
t.integer   :news_id
t.integer   :writter_id
t.datetime  :date
t.string    :title, :limit => 50
t.string    :category, :limit => 10
t.text      :content
t.valided   :boolean
t.onscreen  :boolean

所以,我通过使用:

请求新的
def self.getLastNews(max_entry = 5)
     nws = News.order(:date).limit(max_entry).map
end

1 个答案:

答案 0 :(得分:1)

Tarscher是对的,你的生活很艰难......

你的id应该只是每个模型中的id。

如果您在新闻模型中有一个名为user_id或writer_id的外键,那么您需要在新闻模型上添加以下内容:

belongs_to :writer, :class_name => "User"

然后在获得新闻模型时包括所有用户,您可以像这样调用新闻:

News.includes(:writer)

但实际上你应该尝试遵循rails约定,因为它会让你的生活更轻松......你没必要,它非常灵活,但框架是基于约定优于配置。