我是rails和ruby的新手。我正在研究類和實例變量的概念。我明白了不同之處,但是當我在軌道中使用控制器試用它時,它讓我感到困惑。我所做的是我聲明的類方法之外的類和實例變量:軌道控制器中的實例和類變量
class BooksController < ApplicationController
# GET /books
# GET /books.json
@@world = "Hello World"
@insworld = "my hobby"
def index
@books = Book.all
binding.pry
respond_to do |format|
format.html # index.html.erb
format.json { render json: @books }
end
end
end
我是@insworld有「我的愛好」的值的印象,但是當我試圖檢查的價值@當我在index method
裏時,@insworld正在返回一個零值。 @@世界具有「Hello World」的價值。那麼這裏發生了什麼?他們不是在同一個班級中定義的嗎?
你可能要檢查的接受answe對於這個SO問題:http://stackoverflow.com/questions/3802540/difference-between-class-variables-and-class-instance-variables – lucke84