рубин обновить активную запись

Я пытаюсь обновить записи, используя это:

nn = Npanxx.find(:all, :limit => 1, :order => 'updated desc')
nn.each do |n|
  n.state = 'some state'
  n.city = 'some city'
  n.save
end

Я получаю неизвестную ошибку столбца. В этой таблице Npanxx нет столбца id. Это причина того, что он не работает? Если да, то как я могу это обойти. Я также пробовал:

n.update_attributes({:state => 'some state'}) 

Возникает та же ошибка.


person rstewart    schedule 10.04.2013    source источник
comment
Можете ли вы дать точное сообщение об ошибке?   -  person Wally Altman    schedule 10.04.2013
comment
вы можете опубликовать миграцию, которая сделала таблицу?   -  person AJcodez    schedule 10.04.2013
comment
вот ошибка: Mysql2 :: Error: Неизвестный столбец «npanxx». в 'where clause': UPDATE npanxx SET STATE = 'NJ' WHERE npanxx.`` IS NULL   -  person rstewart    schedule 10.04.2013
comment
таблица уже существует, поэтому я не использовал миграцию для ее создания   -  person rstewart    schedule 10.04.2013
comment
Попробуйте вывести nn [0] перед each. У него есть идентификатор?   -  person Yevgeniy Anfilofyev    schedule 10.04.2013


Ответы (1)


Я решил просто изменить таблицу и добавить столбец id. Теперь работает нормально.

person rstewart    schedule 10.04.2013