| 2008-06-09 15:58:09 | Ответить |
|---|---|
|
Alexey Alexey Адрес: Сообщений: 14 Регистр: 2007-11-12 его блог 0 сообщ. |
Обновление записи если в таблице нет поля id |
|
Подскажите плиз, если в таблице нет поля id, как проапдейтить запись в этой таблице. При попытке это сделать - след ошибка
ActiveRecord::StatementInvalid in ItemsController#update Mysql::Error: #42S22Unknown column 'id' in 'where clause': UPDATE `items` SET `title` = '2qwqwqw', `price` = 22332323.0, `user_id` = 2, `description` = '2qwww' WHERE `id` = NULL Я видел плагин, с помощью которого можно изменить дефолтное значение первичного поля. Можно ли как-то проще решить эту проблему? |
|
| id, update_attributes |
| 2008-06-05 19:02:41 | Ответить |
|---|---|
|
Junior Адрес: Odessa Сообщений: 97 Регистр: 2007-07-25 его блог 0 сообщ. |
RE: Обновление записи если в таблице нет поля id |
|
Насколько я понял твой вопрос тебе поможет:
А вообще просмотри статью http://wiki.rubyonrails.org/rails/pages/HowToUseLegacySchemas |
|
| 2008-06-09 19:29:17 | Ответить |
|---|---|
|
Alexey Alexey Адрес: Сообщений: 14 Регистр: 2007-11-12 его блог 0 сообщ. |
RE: Обновление записи если в таблице нет поля id |
|
Спасибо. Это помогло. У меня еще один вопрос:
Есть след. модель user(id,login,...), item(user_id,title,....), comment(user_id,body,....), user - item (1 to 1) item - comment (1 to many) В моделях прописал след: class User < ActiveRecord::Base has_one :item ..... class Item < ActiveRecord::Base belongs_to :user set_primary_key :user_id has_many :comments end class Comment < ActiveRecord::Base belongs_to :item,:foreign_key=>:user_id end При попытке сделать след: @item.comments.count внешнем полем для comments все равно считается item_id Mysql::Error: #42S22Unknown column 'comments.item_id' in 'where clause': SELECT count(*) AS count_all FROM `comments` WHERE (comments.item_id = 1) Что неправильно сделано в моделях?? |
|
| 2008-06-10 03:14:47 | Ответить |
|---|---|
|
bartanxas Адрес: Сообщений: 2 Регистр: 2008-01-25 его блог 0 сообщ. |
RE: Обновление записи если в таблице нет поля id |
|
Попробуй изменить класс Item следующим образомм:
|
|