0

目前,我正在尝试将信息提要限制在选项选择字段中,以仅显示我选择的标准。使用下面的代码,这似乎有效

= select("schedule", :selected_players, User.where(:team_id => current_user[:team_id]) { |p| [full_name(p), p.id] }, {:include_blank => 'None', :prompt => 'Add Players to Lineup'}, :multiple => "multiple")

问题是这段代码显示了一个数组字段类型,即#<User:0xa559830>。

如何让它显示实际用户名?

4

1 回答 1

0

我建议以更大的分离度和清晰度重写代码,而不是试图将它们全部放在一行中。生成 SQL 的模型方法永远不应该从视图中调用。

在控制器中:

@players = User.where(:team_id => current_user[:team_id]).all

在视图中:

= select :schedule, :selected_players, @players.map {|p| [full_name(p), p.id] }, {:include_blank => true}...

我认为您代码中的原始错误似乎是您在where没有迭代器(each)的方法之后调用了一个块。

于 2012-08-09T12:34:17.773 回答