【问题标题】:replace id with name in collection_select在 collection_select 中用名称替换 id
【发布时间】:2010-12-01 08:22:18
【问题描述】:

在我的应用程序中,我的成员表上有一个 collection_select,成员表只包含 id。它有一个 user_id、project_id、role_id 等等。

我想在 collection_select 中显示成员名称。但我的成员表中只有 user_id,如何将用户表中的名称显示为选项?

<%= collection_select(nil, :member_id, members, :id, :user_id,
                 {:prompt   => "Select a member"}) %>

现在选择框显示选项 1、2、3、4 等。它需要是用户表中的name1、name2。

有人有这方面的经验吗?

【问题讨论】:

  • 您认为在拥有大量成员时使用 select 元素对用户友好吗?
  • 集合选择基于“选择项目”选择框,但感谢您的反馈

标签: ruby-on-rails ruby database select options


【解决方案1】:

首先你需要为你的成员模型添加一个新方法:

class Member < ActiveRecord::Base
  belongs_to :user
  def member_name
    user.name
  end
end

然后将text_method参数更改为member_name

<%= collection_select(:member, :member_id, members, :id, :member_name,
                 {:prompt   => "Select a member"}) %>

【讨论】:

    猜你喜欢
    • 2014-02-07
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 2019-07-18
    • 2017-03-04
    • 2021-06-30
    • 1970-01-01
    相关资源
    最近更新 更多