Ogni volta che ho provato a usare
Table.create :a=>"a", :b=>"b"
o
tab=Table.new
tab.a="a"
tab.b="b"
tab.save!
produce
NoMethodError: metodo `nome 'non definito per nil: NilClass
il mio modello di tavolo è
class Table < ActiveRecord::Base
set_table_name "table"
set_primary_key "id"
end
risposte:
4 per risposta № 1Come tutti hanno affermato, TABLE
è una parola riservata. Per riferimento futuro, se tu veramente volevo usare queste parole riservate, nelle tue query SQL (so che stai usando l'astrazione AR), dovresti usare i backtick in questo modo:
SELECT * FROM `TABLE`
Tuttavia suggerirei caldamente di cambiare il nome della tua tabella. Un'altra cosa da notare è che non devi impostare la tua chiave primaria id
perché i binari vengono utilizzati per impostazione predefinita id
per il PK.
2 per risposta № 2
TABLE
è una parola riservata in MySQL.
Per il checkout di parole più riservate: