【问题标题】:How do I make RoR select option name and id concatenations of other fields?如何使 FoR 选择选项名称和其他字段的 id 连接?
【发布时间】:2016-07-06 20:12:23
【问题描述】:

我正在使用 Rails 4.2.3。我有一个返回某些列的关系......

MyObject.joins(:distance_unit)
    .where(["user_id = ?", user.id])
    .select("distance, distance_units.id, distance_units.abbrev")

此数据用于选择菜单……

<%= select_tag "distance", options_from_collection_for_select(@distance_options, "distance", "distance") %>

但是,我希望 id 是“distance”和“distance_units.id”字段的串联,选项名称是“distance”和“distance_unit.abbrev”字段的串联。我如何在 Rails 中做到这一点?

【问题讨论】:

    标签: ruby-on-rails-4 select menu concatenation options


    【解决方案1】:
    • 你可以用 options_for_select 来做,像这样:

      <%= select_tag "distance", options_for_select(@distance_options.collect{|obj| ["#{obj.distance}_#{obj.id}", "#{obj.distance}_#{obj.abbrev}"]}) %>
      

    【讨论】:

    • 在我的查询中,我只选择了两列,每列来自不同的数据库表,因此没有封装这两者的模型。在给定这些条件的情况下,我该如何进行连接?
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2015-08-07
    相关资源
    最近更新 更多