0

使おうとするたびに

Table.create :a=>"a", :b=>"b"

また

tab=Table.new
tab.a="a"
tab.b="b"
tab.save!

生産する

NoMethodError: nil:NilClass の未定義のメソッド `name'

私のテーブルモデルは

class Table < ActiveRecord::Base  
 set_table_name "table"
 set_primary_key "id"
end
4

2 に答える 2

4

誰もが述べているようにTABLE、予約語です。今後の参考のために、SQL クエリでこれらの予約語を本当に使用したい場合 (AR 抽象化を使用していることは知っています)、次のようにバッククォートを使用する必要があります。

SELECT * FROM `TABLE`

ただし、テーブル名を変更することを強くお勧めします。idもう 1 つ注意すべき点は、 rails はデフォルトidで PKを使用するため、主キーを に設定する必要がないことです。

于 2011-04-17T20:28:56.727 に答える
2

TABLEは MySQL の予約語です。

その他の予約語については、次をご覧ください。

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

于 2011-04-17T20:08:01.013 に答える