我正在为 iPhone 制作一个 rhodes 应用程序。我在执行给定的代码行时收到"nil:NilClass 的未定义方法'[]'"异常
url_string = url_for(:action => :my_callback)
"MyScanner <Scanner"是我的类,Scanner类声明为"Scanner><Rho::RhoController"。对于>
提前致谢:)
我也是从 Rhodes 开始的,这可能会非常令人困惑。请考虑以下事项:
您会发现Rho
模块由rho
文件夹中的多个文件组成,这就是为什么您会看到诸如rho/rhocontroller
之类的包含,这是子类化Rho::RhoController
的必要包含。
helpers/browser_helper
不会在这里,因为它只包含处理平台问题的方法。 url_for
实际上是在rho/viewhelpers
中定义的,rho/rhocontroller
已经包含在内,这意味着你应该能够在RhoController
子类中默认使用它。
没有更多的代码,就无法说出你的确切问题是什么,但它可能与元编程有关,Ruby的特性使其成为最棒的语言,但也非常复杂。我仍在学习它是如何工作的,并且会持续一段时间。
也许这些文章将有助于解决您的问题:
- http://matt.aimonetti.net/posts/2012/07/30/ruby-class-module-mixins/
- http://nlingutla.com/blog/2013/05/13/including-versus-subclassing-in-ruby/