2012-02-07 7 views
1

私はRoRを初めて使用しています。私はテーブルを生成するために "rails generate model ServiceConfigs"コマンドを使用しました。 コマンドは次のとおりです railsはモデルを生成しますServiceConfigs configs:文字列 rake db:migrate - app/db/service_config.rbが作成されています。 service_config.rbファイルを編集して2列を追加し、サービステーブルとの外部キーの関係を持っています。だからコードはRuby on Railsデータベース:app/model/table.rbファイルを変更して外部キーの関係を記述する方法

class ServiceConfigs < ActiveRecord::Base 
    belongs_to :service, :dependent => :destroy 

    validates_presence_of :configs 
end 

私は下線データベースにログインし、テーブルを見て私はテーブルスキーマの外部キーの関係が表示されません。何が間違っている/もっと私はする必要がありますか?あなたは、単一を記述しているかのようにまず、私は、単数形でモデルに名前を付けたい:あなたがここに入門しているよう

は非常にあなたの時間を感謝し、あなたのための非常に少ないノートを クリシュナ

答えて

1

を助けますそのインスタンス:ServiceConfigであり、サービスに属している場合は、別の名前を一括して考えることができます。

第2にvalidates_presence_ofは、そのフィールドがあることを示唆しています。まず、DBにその列があり、移行が機能していることがわかるまで検証を削除します。マイグレーションファイルを見て、列が作成されていることを確認してください。あなたが特定の移行の実行を再実行したい場合は

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

create_table :service_configs do |t| 
    t.string :configs 
    t.references :service 
    t.timestamps 
end 

更新

あなたもあなたの移行における "道のレール" の関係を定義することができます:

rake db:migrate:redo VERSION=20100421175455 

現在の移行については、スキーマを参照してください。また、スキーマを見て、DBがどのように見えるかを確認することもできます。

+0

こんにちはJoseph、返信と提案に感謝します。私が移行スクリプトに追加するのを忘れて、model/service_config.rbファイルの変更をしたいのであれば、どうしたらいいですか?私は、移行スクリプト "rake db:migrate"を実行することを意味します。私たちは何をする必要があるのモデルの変更?なぜ私はdatatbaseでそれを見ることができないのですか? – PGK

+0

ちょっと、私の答えを更新しました。 –

+0

これはうまくいきました。私は別の質問があります。私たちが移行スクリプトを通してあらゆることを行うことができれば、モデルファイルの作成のポイントは何ですか? – PGK

関連する問題