2011-06-03 5 views
0

私はこれを最後の12時間にしようとしています。2つのテーブルにRailsで結合しますが、プライマリキーでは結合しません

データ:
DATA_ID(主キー)
データテキスト
ユーザーID int型

ユーザー:
ID(主キー)
名テキスト

は、私は2つのテーブルを持っていますメールテキスト

I私はユーザー情報を持つことができるようにデータをプルできるようにしたいです。user.idとdata.useridによって結合されました

これは本当に簡単なSQLクエリですが、Railsではほとんど不可能です。ここで何か根本的なものを逃した

私は、エラーメッセージ取得しています:誰かがに説明することができます(users .data_id = 2)

users SELECT * FROM: のMysql ::エラー: 'where句' 内の不明な列 'users.data_id' を私は非常に簡単な方法でこれを達成する方法を教えてください?

おかげ

+0

SQLまたはレールを使いたいですか?また、ユーザー(名前、電子メール)を取得しようとしている、またはdatatextをしたいですか? –

答えて

1

あなたは、たとえば、主キーが「ID」と呼ばれ、Railsの変換を実行する必要があります。他にも、Rails Guidesのチェックが必要な場合があります。

この具体例では、あなたを動かすことがあるものは複数形data/datumです。

これは、あなたが行くを取得する必要があります:

TABLES

 
Datas: 
    id:  integer (autoinc) 
    data: text 
    user_id: integer (foreign key) 

Users: 
    id:  integer (autoinc) 
    name: varchar 
    email: varchar 

をその最良の方法ではありません手動で、移行を使用してテーブルを作成します。

MODELS

class Data < AR:Base 
    belongs_to :user 
end 

class User < AR::Base 
    has_many :datas 
end 

USEAGE

u = User.first 
u.datas 
0

何について:あなたは、IDとデータをクリックしている

@data = Data.find(params[:id]) 
@data.user.name 

2.

関連する問題