1

我正在为 iPhone 制作一个 rhodes 应用程序。在执行给定的代码行时,我收到“nil:NilClass 的未定义方法 `[]' 异常”

url_string = url_for(:action => :my_callback)

“MyScanner < Scanner”是我的类,Scanner 类被声明为“Scanner < Rho::RhoController”。对于 Scanner < Rho::RhoController,我添加了“require 'rho/rhocontroller'”和“require 'helpers/browser_helper'”,还包括“include BrowserHelper”。我是罗德的新手。任何人都可以帮助找到此异常的原因。

提前致谢 :)

4

1 回答 1

0

我也是从 Rhodes 开始的,这可能会让人很困惑。考虑以下:

您会发现该Rho模块由文件rho夹中的多个文件组成,这就是为什么您会看到包含,例如rho/rhocontroller,子类化的必要包含Rho::RhoController

helpers/browser_helper你不会在这里,因为它只包含处理平台问题的方法。url_for实际上是在 中定义的rho/viewhelpers,它已经包含在 中,这rho/rhocontroller意味着您应该能够在RhoController子类中默认使用它。

如果没有更多代码,就无法说出您的确切问题是什么,但它可能与元编程有关,Ruby 的特性使它成为最棒的语言,但也非常复杂。我仍在学习它是如何工作的,并且会持续很长一段时间。

也许这些文章将有助于解决您的问题:

于 2013-08-15T08:56:05.887 回答