Bv2*_*202 4 ruby ruby-on-rails
所以在过去的两个小时里,我一直在努力为所有用户填充一个组合框.我设法在组合框中获得所有的名字,但我想在组合框中使用它们的全名.没问题,你会想到,只是连接名称,你就完成了.+和<<应该是连接运算符来执行此操作.所以这是我的代码:
<%= collection_select(:user, :user_id, @users, :user_id, :user_firstname + :user_lastname, {:prompt => false}) %>
Run Code Online (Sandbox Code Playgroud)
但似乎RoR不接受这个:
undefined method `+' for :user_firstname:Symbol
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
小智 14
您需要做的是在User模型上定义一个方法,为您执行此连接.符号无法连接.因此,对于您的用户模型,添加此功能:
def name
"#{self.first_name} #{self.last_name}"
end
Run Code Online (Sandbox Code Playgroud)
然后将视图中的代码更改为:
<%= collection_select(:user, :user_id, @users, :user_id, :name, {:prompt => false}) %>
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.
| 归档时间: |
|
| 查看次数: |
6315 次 |
| 最近记录: |