Я новичок в рельсах и рубине. Я изучал концепцию переменных класса и экземпляра. Я понял разницу, но когда я попробовал это с помощью контроллера в рельсах, это меня смутило. То, что я сделал, это объявить переменные класса и экземпляра вне методов класса:
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 имеет значение "мое хобби", но когда я попытался проверить значение @insworld, когда я был внутри index method
, @insworld возвращал значение nil. @@world имеет значение "Hello World". Так что же произошло здесь? Разве они не определены в одном классе?