Jac*_*ham 3 ruby ruby-on-rails erb
我发现在显示用户信息时,我在ERB视图中使用了大量重复代码.沿着这条路线
<% if @user.name.present? %>
<%= @user.name %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我基本上是为了避免错误而对所有内容执行此操作(例如,可能没有所有新字段的旧用户).
有一个更好的方法吗?
将逻辑移动到帮助器:
def name_for(user)
user.name if user.name.present?
end
Run Code Online (Sandbox Code Playgroud)
并在您的视图中调用该帮助程序:
<%= name_for(@user) %>
Run Code Online (Sandbox Code Playgroud)