Как получить доступ к внешним атрибутам в форме выбора в Rails? - PullRequest
0 голосов
/ 20 марта 2020

Если у меня есть модели:

class Bloque < ApplicationRecord
  belongs_to :temporada
end

class Temporada < ApplicationRecord
  has_many :bloques
end

И collection_select в представлении:

<%= collection_select(:bloques, :id, Bloque.all, :id, :temporada, {}, {class: 'form-control', multiple: 'true'}) %>

Мне нужно имя temporada в Bloque, как в :temporada_name, вместо равнины: темпорада в collection_select. Потому что список выглядит так:

enter image description here

, и я хочу, чтобы имя темпорад отображалось.

1 Ответ

1 голос
/ 20 марта 2020

Используйте Module#delegate для делегирования temporada_name на temporada.name.

class Bloque < ApplicationRecord
  belongs_to :temporada
  delegate :name, to: :temporada, prefix: true
end

<%= collection_select(:bloques, :id, Bloque.includes(:temporada).all, :id, :temporada_name, {}, {class: 'form-control', multiple: 'true'}) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...