轨道选择,具有受限查询



目前我正在尝试将信息馈送限制为选项选择字段,以仅显示我选择的条件。使用下面的代码,这似乎可以正常工作

= 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>。

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

我建议以更大的分离性和清晰度重写代码,而不是试图将它们全部放在一行中。绝不应从视图中调用生成 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}...

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

最新更新