我有以下代码需要更新...
<% @users.each do |user| %>
<tr>
<td><%= link_to user.fname, user %></td>
</tr>
<% end %>
我想学习如何更新它,而不是只显示fname,它显示fname + lname
所以对于像James Bond这样的唱片,它会显示james bond并将其链接到Rails中的用户。
感谢
答案 0 :(得分:18)
您可以在ERB中加入字符串:
<%= link_to user.fname + " " + user.lname, user %>
<!-- or, slightly better: avoids problems with nil values -->
<%= link_to "#{user.fname} #{user.lname}", user %>
<!-- or, even better -->
<%= link_to [user.fname, user.lname].join(" "), user %>
或者,您可以将丑陋的逻辑移动到辅助方法中,例如在 app / helpers / users_helper.rb :
module UsersHelper
def full_name(user)
[user.fname, user.lname].join(" ")
end
end
<%= link_to full_name(user), user %>
或者,(这就是我要做的)您可以在模型中添加 full_name 方法:
class User < ActiveRecord::Base
def full_name
[fname, lname].join(" ")
end
end
<%= link_to user.full_name, user %>