是否可以在视图模板中保留逻辑?

时间:2010-11-22 09:15:52

标签: ruby-on-rails model-view-controller logic

是否可以接受在视图模板中保留逻辑(特别是在MVC术语和Rails中)?有什么方法可以避免这样的事情吗?

<% if current_user %>
  Welcome, <%= current_user.name %>.
  <%= link_to "Sign Out", signout_path %>
<% else %>
  <%= link_to "Sign in with Twitter", "/auth/twitter" %>
<% end %>

或者我是在发明一种“自行车”而且上层的东西还不错?

1 个答案:

答案 0 :(得分:12)

当然要归结为偏好。我会说上面的内容是可以接受的。简单的条件和循环在视图中非常标准。我想说要避免的事情是分配变量,为尚未收集的数据命中模型等等。

如果你不想要那里的东西,你可以随时建立帮手。这种事情必须在某个地方。

编辑:

一个好的经验法则是“这段代码与演示文稿直接相关吗?”我会说有关你上述案例的答案是肯定的。