2011-10-15 9 views
0

Railsを初めて使う人は、テーブルの名前が変わることを読んでいますが、これは前提となるものですから、私はpre-railsで作成されたテーブルで作業しています。 APIを変更することはできません。Ruby on Railsはモデルのテーブル名を変更します

私は既存のテーブルを参照するRailsで作成されたクラスを持っていますが、もちろんテーブル名の最後にsが追加されているのでテーブルのSQLエラーが発生するので、これを私の中に入れてくださいクラス定義:

class BookSubjects2title < ActiveRecord::Base 
set_table_name "book_subjects2title" 
belongs_to :bookSubjects 
end 

おそらく、私が読んだことからこの問題を処理するはずです。それでも、それは最後にsを使用して名前を使用しようとし続け、レールコンソールからエラーが発生します。 Railsがこの新しい設定を読むために必要なことはありますか?ダイナミックではありませんか?これはあなたの唯一の問題はなく

belongs_to :bookSubjects 

ある場合

+0

これについては、いくつかのコメントがあります: 'config/application.rb'と設定' config.active_record.pluralize_table_names = false'を見てください。おそらくそれで十分です。次に、 'belongs_to:bookSubjects'は' belongs_to:book_subjects'でなければなりません。 – mliebelt

+0

ありがとう、私は見ていますが、に属しているのは、テーブル名またはクラス名を示していますか?これは私がはっきりしないものです。 config/application.rbに書き込んだ設定行を追加しましたが、それと同じことです。それはそれがすべてを無視しているだろう魚のように見える?しかし、アプリの残りの部分(それなど)はうまくいくようです。 – kakubei

+0

ああ、コンソールをやめてもう一度起動すると、そのトリックが完了したようです。これでテーブルが正しく読み込まれます。どうもありがとう。あなたが先に進んで質問に答えるには、私はあなたにそれについて信用を与えることができます(このフォーラムの人々は本当にそれについて真剣に思えるでしょう)... – kakubei

答えて

0

わからない「s」は、代わ​​りにこれを使用していてはいけません。

belongs_to :book_subject 
+0

これは私が上記のコメントに投稿した質問でした、belongs_toはテーブル名またはクラス名? – kakubei