gpt4 book ai didi

ruby-on-rails - Rails 3 组合两个变量

转载 作者:行者123 更新时间:2023-12-03 00:47:16 24 4
gpt4 key购买 nike

我有以下代码需要更新...

<% @users.each do |user| %>
<tr>
<td><%= link_to user.fname, user %></td>
</tr>
<% end %>

我想了解如何更新它,因此它不只是显示 fname,而是显示 fname + lname

因此,对于像 James Bond 这样的记录,它会显示 james bond 并将其链接到 Rails 中的用户。

谢谢

最佳答案

您可以直接在 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 %>

关于ruby-on-rails - Rails 3 组合两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3784394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com