2009-10-23 6 views
5

テーブルを持つデータベースがあります。既存のテーブルからRailsアプリケーションでモデルを作成したいと思います。私が知っているように、このような機能は用意されており、次のように行われます。

script/generate scaffold model_name --skip-migration


はもちろん、私はdatabase.ymlのファイルに自分のデータベースを定義しました。 Scaffoldは私のためにコントローラとビューを持つモデルを生成しました。私のテーブル名はRailsのものではなく(規約違反です)、set_table_nameを自分のコントローラに追加しました。しかし、私はインデックスメソッドを呼び出すとき、私のページでは、#記号だけを設定し、データベースからのデータはありません。私のindex.html.erbでは、私は足場でコードを生成しただけです。データベースのデータをどのようにプリントアウトできますか?
Rails 2の既存のテーブルのモデル

+0

を移行に-skip私はそのような何かを持っていることを、私のWebページのソースを開けて見ました:​​# Yurish

+0

はあなたindex.hの内容に貼り付けることができますtml.erbファイル –

+0

上場klients

<%@ klients.each行う| klient | %> ​​<%=のlink_to 'ショー'、klient%> ​​<%=のlink_to '編集'、edit_klient_path(klient)%> ​​<%=のlink_to '破壊'、klient、:確定= > 'よろしいですか?'、:メソッド=>:> <% end %>

<%=のlink_to '新klient'、new_klient_path%> – Yurish

答えて

7

既存のデータベースからスキーマファイルを生成しましたか?コマンドを実行した場合、

rake db:schema:dump 

この問題を修正する必要があります。

さらに、Dr Nic's Magic Model generatorをチェックしてください。これにより、既存のすべてのテーブルのモデルが生成され、関係を推測しようとします。あなたのテーブルの名前をレールで理解できない場合は、おそらくうまくいかないでしょう。

UPDATE

私は、一般的に自分自身をしかし、私はこれをテストしているデフォルトの足場を使用していないと、それが表示されますが、移行をスキップして、任意の列名/タイプのペアを渡さない場合は、その足場ジェネレータではないでしょうテンプレートを作成して列を描画します。

次の2つのここでの選択肢のいずれか

  1. カラム名のペアを渡すだけでなく、スキップの移行または
  2. ダウンロード指定した場合でも、列名を持つ足場を作成するライアンベイツNifty Scaffold generatorなどを持っています -
+0

削除%は、私は、PostgreSQLデータベースを持っている、と私は、スキーマを生成しました。問題は解決されません。 – Yurish

+0

ありがとう!私はしようとするが、それはあなたが正しいと思われる! – Yurish

+0

これは私にとって素晴らしいものでした。私は新しいアプリケーションを作成し、古い(非レール)アプリケーションのデータベースからデータベースを指して、私の358テーブル用の移行テーブル作成ステートメント用のschema.rbファイルを作成しました!次に、私は別のデータベースにアプリケーションを指し、このスキーマファイルを使用して別のデータベースに作成します。 –

関連する問題