Как показать дату в f.collection_select в Rails - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу показать дату праздников в раскрывающемся меню в полях

_scheduled_holiday_fields. html .haml

%td= f.collection_select :holiday_id, SystemHoliday.all + TenantHoliday.where(tenant: @tenant),:id, :name, include_blank: "-- Select Holiday --", hide_label: true

В настоящее время в раскрывающемся меню отображается как:

Holiday      
Christmas    

В раскрывающемся меню я хочу отобразить как:

Holiday
Christmas (Dec 25)

У меня есть отдельная страница для того, чтобы человек мог ввести праздники, которые он отмечает, а также дату праздника.

мой вид формы:

= bootstrap_nested_form_for(@schedule,bsf_opts) do |f|
  .section
    .section_header Scheduled Holidays
    .panel.panel-primary
      .panel-body Select the holidays observed by your company as well as the office mode for each holiday.
      %table.data#scheduled_holidays_table
        %thead
          %tr
            %th
            %th Holiday
        %tbody
          = f.fields_for :scheduled_holidays, wrapper: false
      .panel-footer
        .center= f.link_to_add "Add Holiday", :scheduled_holidays, class: :button, data: {target: "#scheduled_holidays_table"}

_scheduled_holiday_fields. html .haml:

%tr.fields
  %td= f.collection_select :holiday_id, SystemHoliday.all + TenantHoliday.where(tenant: @tenant),:id, :name, include_blank: "-- Select Holiday --", hide_label: true

1 Ответ

1 голос
/ 29 апреля 2020

См. "collection_select":

# Add attr_accessor and collection_select text_method to Holiday
class Holiday < ActiveRecord::Base

  def name_with_date
    "#{name} (#{to_s})"
  end
end


# Then modify the form input
%td= f.collection_select :holiday_id, SystemHoliday.all + TenantHoliday.where(tenant: @tenant), :id, :name_with_date, include_blank: "-- Select Holiday --", hide_label: true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...