【发布时间】:2015-12-02 12:41:07
【问题描述】:
我最近开始学习 Ruby on Rails,根据我在 Ruby 中学到的知识,我遇到了一些让我感到困惑的事情。在 Rails 教程中,以下代码用于从模型中检索所有用户,并将其传递给视图:
class UsersController < ApplicationController
.
.
.
def index
@users = User.all
end
.
.
.
在视图中:
<% @users.each do |user| %>
<tr>
<td><%= user.name %></td>
<td><%= user.email %></td>
我的理解是实例变量不能在没有访问器方法的情况下在其类之外访问,但这里视图可以访问@users。为什么呢?为什么我们必须使用实例变量来循环访问用户?
【问题讨论】:
-
rails 为你做这个,看看这个答案stackoverflow.com/questions/18855178/…
-
在我看来,它是同一个类,因为你是从
users的视图模板中调用变量。
标签: ruby-on-rails ruby