我有小問題。我有兩種方法,索引和創建。當我嘗試檢查randomUserId中的內容時,我看到'nill',但在查看中一切正確。爲什麼可變返回無
def index
@randomUserId = rand(1..30)
end
def create
puts "RANDOM: "
puts @randomUserId
end
我有小問題。我有兩種方法,索引和創建。當我嘗試檢查randomUserId中的內容時,我看到'nill',但在查看中一切正確。爲什麼可變返回無
def index
@randomUserId = rand(1..30)
end
def create
puts "RANDOM: "
puts @randomUserId
end
puts
returns nil它輸出一個字符串後,所以create
方法返回零。
create
和index
是兩種非常不同的方法。在一個Controller
他們不被召集在一起。你只打一個或另一個。根據您提供的代碼,您只需在index
操作中設置值@randomUserId
....不在create
操作中。您無法調用用於其他操作的變量 - 您將其設置爲不再存在的值,並且將(正確)返回nil
。
如果您想在創建操作中使用@randomUserId
的值,則必須在create
操作中再次設置它,或者以某種方式通過參數傳遞它。
如果前者只是複製表示@randomUserId =rand(1..30)
的行。
如果是後者,那麼在我們可以幫助您之前,您需要告訴我們更多關於您想要做什麼,您的意見等等。
你如何檢查'randomUserId'中的內容?如果你正在創建一個新的實例,你需要先調用'index' .. – Buddy
這是一個類嗎?您是否在創建之前調用索引? – lcguida
你用'ruby-on-rails'標記了你的問題,所以我想你實際上正在嘗試創建一個控制器,用'index'和'create'作爲動作。你似乎不瞭解MVC的基礎知識,所以我建議你先閱讀一些文檔。 – Nax