开发者

Rails 3 NoMethodError: undefined method `name' for nil:NilClass

开发者 https://www.devze.com 2023-02-26 01:04 出处:网络
Whenever i tried to use Table.create :a=>\"a\", :b=>\"b\" or tab开发者_StackOverflow=Table.new tab.a=\"a\"

Whenever i tried to use

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

or

tab开发者_StackOverflow=Table.new
tab.a="a"
tab.b="b"
tab.save!

produces

NoMethodError: undefined method `name' for nil:NilClass

my table model is

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


As everyone has stated, TABLE is a reserved word. For future reference, if you really wanted to use these reserved words, in your sql queries(I know you are using the AR abstraction), you would have to use backticks like so:

SELECT * FROM `TABLE`

However I would highly suggest changing your table name. One other thing to note is that you do not have to set your primary key to id because rails by default uses id for the PK.


TABLE is reserved word in MySQL.

For more reserved words checkout:

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

0

精彩评论

暂无评论...
验证码 换一张
取 消