Rails 3, корневое имя в списке детей (название производителя в списке продуктов) - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть производитель и модель продукта:

    class Manufacturer < ActiveRecord::Base
      has_many :products
    end

и

    class Product < ActiveRecord::Base
      has_one :manufacturer
    end

В таблице продуктов есть factory_id, у меня есть раскрывающийся список с названием производителя, но в списке или я покажусм. идентификатор производителя, а не имя, как это сделать, что я мог видеть название производителя

Спасибо.

Ответы [ 2 ]

1 голос
/ 12 февраля 2011

У вас должно быть belongs_to на другом конце этого has_many ...

class Product < ActiveRecord::Base
  belongs_to :manufacturer
end

И если вам нужна помощь с вашим <select>, вы должны поделиться этим кодом.

0 голосов
/ 12 февраля 2011

В итоге вы захотите сделать что-то вроде:

product.manufacturer.name

каждый раз, когда вы хотите увидеть название производителя. При вызове «product.manufacturer» вы получаете фактическую модель «производителя», на которую указывает factory_id, поэтому вам нужно определиться с тем, какой аспект вы хотите увидеть.

Что касается отображения имени в раскрывающихся списках, необходимо указать как отображаемый текст, так и значение, используемое в раскрывающемся списке. Проверьте здесь для полного синтаксиса. По сути, вы заканчиваете тем, что делаете массив массивов для представления ваших опций, где каждый массив состоит из [name, id].

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