Ruby 发表于 Rails 在下拉文本中加入两个字符串
Ruby on Rails Joining Two Strings in Dropdown Text
我在 rails 网站上有一个 ruby,其中有一个名为 "meetings" 的页面。这些会议目前运行良好,但我想更改其中一个下拉列表显示其数据的方式。目前,我的 controller/view:
中有这个
控制器
@meeting_times = MeetingTime.select("id, meeting_type, meeting_at").where("
(meeting_at > ?)", Time.now + 1.week).order("meeting_at")
查看
<%= f.select :meeting_time_id, options_from_collection_for_select
(@meeting_times, "id", "meeting_at") %>
目前,如您所见,下拉列表仅显示会议时间。我想要做的是让下拉列表在一个字符串中显示 meeting_type + meeting_time 。这听起来很简单,但是 meeting_type 是一个 int 值。所以,我需要说 "If meeting_type == 0 then display 'Staff Meeting' + meeting_time",等等。如何在不更改 meeting_type 的数据库值的情况下完成此操作?
在 MeetingTime 模型创建方法中
def meeting_time_display
"#{meeting_type_names[meeting_type]} #{meeting_at}"
end
private
def meeting_type_names
@@m_type_names ||= ['Staff Meeting', 'Type 2', ..., 'Type n']
end
正在通话中
<%= f.select :meeting_time_id, options_from_collection_for_select (@meeting_times, "id", "meeting_time_display") %>
我在 rails 网站上有一个 ruby,其中有一个名为 "meetings" 的页面。这些会议目前运行良好,但我想更改其中一个下拉列表显示其数据的方式。目前,我的 controller/view:
中有这个控制器
@meeting_times = MeetingTime.select("id, meeting_type, meeting_at").where("
(meeting_at > ?)", Time.now + 1.week).order("meeting_at")
查看
<%= f.select :meeting_time_id, options_from_collection_for_select
(@meeting_times, "id", "meeting_at") %>
目前,如您所见,下拉列表仅显示会议时间。我想要做的是让下拉列表在一个字符串中显示 meeting_type + meeting_time 。这听起来很简单,但是 meeting_type 是一个 int 值。所以,我需要说 "If meeting_type == 0 then display 'Staff Meeting' + meeting_time",等等。如何在不更改 meeting_type 的数据库值的情况下完成此操作?
在 MeetingTime 模型创建方法中
def meeting_time_display
"#{meeting_type_names[meeting_type]} #{meeting_at}"
end
private
def meeting_type_names
@@m_type_names ||= ['Staff Meeting', 'Type 2', ..., 'Type n']
end
正在通话中
<%= f.select :meeting_time_id, options_from_collection_for_select (@meeting_times, "id", "meeting_time_display") %>