为什么变量返回为零

时间:2015-06-14 15:50:45

标签: ruby-on-rails ruby variables scope

我没有遇到什么问题。我有两种方法,索引和创建。当我尝试检查randomUserId中的内容时,我看到了' nill',但在视图中,一切都是正确的。

  def index
    @randomUserId = rand(1..30)
  end

  def create
    puts "RANDOM: "
    puts @randomUserId

  end

2 个答案:

答案 0 :(得分:0)

puts returns nil输出字符串后,create方法返回nil。

答案 1 :(得分:0)

<?php error_reporting(E_ALL); ini_set('display_errors', 1); // rest of your code create是两种截然不同的方法。在index中,他们不会被召集在一起。你只打电话给一个或另一个。根据您提供的代码,您只需在Controller操作中设置@randomUserId的值....而不是在index操作中。您无法调用在其他操作中使用的变量 - 您将其设置为不再存在的值,并且(正确地)返回create

如果您想在创建操作中使用nil的值,则必须在@randomUserId操作中再次设置它,或以某种方式将其传递给参数。

如果是前者,只需复制显示create的行。

如果是后者,那么在我们帮助你之前,你需要告诉我们更多关于你要做什么,你的观点等的事情。