как присоединиться к этим таблицам? - PullRequest
0 голосов
/ 26 апреля 2011

я новичок в рельсах

ошибка

Mysql2::Error: Unknown column 'states.ad_id' in 'where clause': SELECT  `states`.* FROM `states` WHERE (`states`.ad_id = 1) LIMIT 1

моя модель

ad.rb

has_one :state

state.rb

belongs_to :ad

вот мои таблицы.

реклама таблица

+----+----------------+-------------+-------+-----------+
| id | title          | description | price | states_id |
+----+----------------+-------------+-------+-----------+
|  1 | ebook          | asdasd      |     1 |         1 |
|  2 | iphone 4 devol | sdfsdf      |     1 |         1 |
|  3 | asd            | asd         |     1 |         2 |
+----+----------------+-------------+-------+-----------+

состояния таблица

+----+----------+
| id | name     |
+----+----------+
|  1 | Pluto    |
|  2 | Mars     |
+----+----------+

Ответы [ 2 ]

1 голос
/ 26 апреля 2011

см. Является ли это принадлежащим или has_one ассоциацией? сечение http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

в вашем примере вы, вероятно, хотите

состояние

has_many :ads

1012 * Объявление *

belongs_to :state

так как вы указываете отношение один к одному, а не отношение один к одному, поскольку в состоянии может быть много объявлений

1 голос
/ 26 апреля 2011

Ваше сообщение об ошибке говорит о том, что в таблице состояний нет столбца ad_id. Вы, вероятно, хотели использовать States.id вместо States.ad_id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...