2012-02-13 7 views
0

Ruby on Railsを開発し始めました。複雑なモデル関係について質問しました。データベースニュース - > RoRに関連付けられたユーザ

私はニュースをリクエストする際にユーザー情報をどのように持つことができるかを知りたいと思います。これを可能にする関連モデルを作成するにはどうすればよいですか?

-- 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 
+0

atciverecords命名規則 – Tarscher

答えて

1

Tarscherは右である、あなたは

は、あなたのIDは、単に各モデルのidでなければなりません...あなたの人生を困難にしています。

あなたは、ニュースのuser_idというモデル、またはwriter_idの外部キーを持っているでしょうが、あなたはその後、としてニュースをモデルにassoiationを追加する必要があります場合:すべてのユーザーが含まれるように、その後

belongs_to :writer, :class_name => "User" 

あなたがニュースのモデルを得るとき、あなたはこのようにニュースを呼び出します。

News.includes(:writer) 

が、本当にあなたはそれがあなたの人生が容易になりますよう、レールの規則に従うようにしてください、あなたがする必要はありません...、それは非常にです柔軟性がありますが、フレームワークは設定上の慣例に基づいています。

+0

thxを使用していないため、データベースを変更することはできますか – 0xBAADF00D

関連する問題