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

kyr*_*ylo 4 model-view-controller logic ruby-on-rails

是否可以接受视图模板中的逻辑(特别是在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 %>
Run Code Online (Sandbox Code Playgroud)

或者我发明了一个"自行车",上层的东西进展顺利?

re5*_*5et 12

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

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

编辑:

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