如果未使用在线验证属性,在视图中显示模型属性的正确方法是什么。例如,如果用户模型具有website
,twitter
,facebook
和about
等属性,则不需要这些属性来保存用户模型。
在视图中,用户可能有Twitter但未提供网站。当然,总是使用if语句是不恰当的:
<% if @user.website? %>
<p><%= @user.website %></p>
<% end %>
根据用户是否拥有网站,向用户网站显示<p>
标记的正确方法是什么?
答案 0 :(得分:2)
有几种方法可以做到这一点,正确的方法真的是你的偏好。我相信这里的目标是可读性。对于简单的p
代码,我会使用下面的content_tag
选项。
部分选项:
选项1:使用content_tag
<%= content_tag(:p, @user.website) if @user.website %>
选项2:在p
块中嵌套if
标记
<% if @user.website %>
<p><%= @user.website %></p>
<% end %>