朋友我发现大写的nil方法错误。但我不知道为什么。请帮助我谢谢
<% if current_user %>
Hi <%=current_user.name.split(' ').first.capitalize %>, please.</p>
<% end %>
答案 0 :(得分:3)
当前登录的特定用户有一个&#34;空白&#34;名。
current_user.name #=> ""
current_user.name.split #=> []
current_user.name.split.first #=> nil
current_user.name.split.first.capitalize #=> Error
作为快速解决方案,请将代码更改为:
current_user.name.split.first.to_s.capitalize
但名称仍然显示为空白。
答案 1 :(得分:3)
尽量避免这种长链。 我可以建议,转到current_user类定义并添加方法:
def first_name
name.split(' ').first
end
回到您的模板,您可以使用try()方法
<%=current_user.first_name.try(:capitalize) %>
下一步可能是将first_()方法从current_user移动到某个包装类中。阅读有关演示者的更多信息,以实现这一目标。