2015-06-14 78 views
0

我有小问题。我有两种方法,索引和创建。当我尝试检查randomUserId中的内容时,我看到'nill',但在查看中一切正确。为什么可变返回无

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

    def create 
    puts "RANDOM: " 
    puts @randomUserId 

    end 
+2

你如何检查'randomUserId'中的内容?如果你正在创建一个新的实例,你需要先调用'index' .. – Buddy

+1

这是一个类吗?您是否在创建之前调用索引? – lcguida

+2

你用'ruby-on-rails'标记了你的问题,所以我想你实际上正在尝试创建一个控制器,用'index'和'create'作为动作。你似乎不了解MVC的基础知识,所以我建议你先阅读一些文档。 – Nax

回答

0

createindex是两种非常不同的方法。在一个Controller他们不被召集在一起。你只打一个或另一个。根据您提供的代码,您只需在index操作中设置值@randomUserId ....不在create操作中。您无法调用用于其他操作的变量 - 您将其设置为不再存在的值,并且将(正确)返回nil

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

如果前者只是复制表示@randomUserId =rand(1..30)的行。

如果是后者,那么在我们可以帮助您之前,您需要告诉我们更多关于您想要做什么,您的意见等等。