0

我想知道在模型中执行以下操作是否正确:

get_partial
    #logic...
      return "_partial_name1"
    #more logic
      return  "_partial_name2"
    #more logic
      return  "_partial_name3"
    else
      "_partial_name4"
    end
end

在视图中:

<%= render @product.get_partial %>

模型中没有 erb 代码,只有逻辑选择它应该显示的部分。我对其进行了测试并且它可以工作,但我想知道从 MVC 的角度来看它是否正确。如果不是,这个逻辑应该放在哪里?

4

3 回答 3

3

你的模型永远不应该关心渲染什么视图。

如果您在决定做什么时需要逻辑,请使用视图助手。

于 2012-10-22T14:15:12.347 回答
1

在视图中,我认为您可以将 if..else 逻辑放在那里。无论哪种方式,您都不希望将此逻辑放入模型中。也许你的意思是控制器,但我认为把它放在视图中是最好的方法

<% if (condition) %>
    <%= render 'partial1' %>
<% else %>
    <%= render 'partial2' %>
<% end %>
于 2012-10-22T13:48:56.450 回答
0

好的,看来最好的做法是使用助手。我去做。

于 2012-10-22T14:22:05.210 回答