我在我的第一个 Ruby on Rails 项目中,我试图在选择框中显示用户列表。我想显示所有用户(当前登录的用户除外)。
我现在有这部分,在我的模型、视图和控制器中使用此代码:
请求控制器:
def new
@request = Request.new
@users = User.without_user(current_user)
end
新请求视图:
<div class="field">
<%= f.label :user_id, 'Select user' %>
<br />
<%= select_tag(:user_id, options_for_select(@users)) %>
</div>
用户模型:
scope :without_user,
lambda{|user| user ? {:conditions =>[":id != ?", user.id]} : {} }
这一切都很好,但我的选择框填充了用户的 object_id。例如,如何将该 object_id 转换为名字/姓氏组合?我尝试做类似的事情:
<%= select_tag(:user_id, options_for_select(@users.first_name)) %>
但这给了我一个“未定义的方法错误”。处理这个问题的最佳方法是什么?