【发布时间】:2021-08-27 08:03:55
【问题描述】:
我是 Rails 新手,我有一个问题。大家都说迭代表的首选方式是通过Controller在实例变量中捕获数据,然后在对应的View中进行迭代。
如果我这样做了会怎样
<% Course.all.each do |course| %>
<!-- displays list of courses -->
<% end %>
我知道使用实例变量是首选方式,但有什么原因吗?
【问题讨论】:
-
这是为了保持你的代码模块化。想象一下为您的视图编写一个测试。使用变量,您只需要为
@courses传递一些静态示例数据。使用Course.all,您必须处理实际的数据库访问,这需要填充数据库或存根调用。
标签: ruby-on-rails ruby model-view-controller