Данные из двух таблиц в collection_select - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть три модели, определенные следующим образом:

class Comic < ActiveRecord::Base
  has_many :feeds
end

class Feed < ActiveRecord::Base
  belongs_to :comic
  has_many :filters
end

class Filter < ActiveRecord::Base
  belongs_to :feed
end

В форме фильтра у меня есть следующее:

<%= f.collection_select :feed_id, Feed.all, :id, :url, { :include_blank => "Please select" } %>

Предполагая, что в моей комической модели есть поле :name, как мне отобразить его в URL фида в списке выбора?

Я бы хотел, чтобы визуализированный HTML выглядел примерно так:

<option value="1">Comic Name - Feed URL</option>

Спасибо!

1 Ответ

1 голос
/ 11 февраля 2012

Одной из идей было бы создание нового метода экземпляра в классе каналов для представления комического имени вместе с URL-адресом канала:

class Feed < ActiveRecord::Base

  def display_text
    "#{comic.name} - #{url}" 
  end

end

<%= f.collection_select :feed_id, Feed.all, :id, :display_text, { :include_blank => "Please select" } %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...