我有一个模型,在视图中我只想在我的数据库中获取模型的随机实例并显示其名称。这两种方法都起作用吗?如果是这样,建议使用哪一个:
GET / random
1)
random.html.erb
<%= Foo.random.name %>
2)
application_controller.rb
def random
@name = Foo.random.name
end
random.html.erb
<%= @name %>
答案 0 :(得分:6)
我建议2):通过隔离控制器中的所有数据访问,而不是在视图中传播,可以更容易地看到您的视图需要哪些数据。这使得重构更容易。最小化逻辑和视图中的数据访问是MVC的最佳实践。