Rails 3.1 select может иметь объект в качестве значения - PullRequest
0 голосов
/ 10 сентября 2011

Можно ли указать в качестве значения полный объект.

Код:

Приложение моделей / models / pc.rb

class Pc < Device
  has_many :gendevs
  accepts_nested_attributes_for :gendevs, :reject_if => lambda { |a| a[:name].blank? },:allow_destroy => true
end   

app / models /gendev.rb

class Gendev < Device
  belongs_to :pc
end

(Gendevs - это что-то вроде сканеров, кард-ридеров и т. д.).Поскольку Gendevs доступны в базе данных, я хочу иметь вложенный выбор, дающий мне атрибуты объекта.

View:

app / views / pcs / _form.html.erb

....
<% f.fields_for :gendevs do |gdbuilder| %>
<%= gdbuilder.select :gendevs, @gendevs.map { |g| [g.name + '/' + g.kind,g] } %>
<% end %>

Это не работает, поэтому мой вопрос, как я могу это сделать.Есть ли способ сериализации параметров g, или как я могу это сделать?

1 Ответ

0 голосов
/ 14 сентября 2011

Используйте g.id вместо g.

<% f.fields_for :gendevs do |gdbuilder| %>
<%= gdbuilder.select :gendevs, @gendevs.collect { |g| [g.name + '/' + g.kind, g.id] } %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...