【问题标题】:Class and module scope in rails helpersrails helpers 中的类和模块范围
【发布时间】:2014-06-28 08:18:06
【问题描述】:

我正在尝试编写一个 Rails 应用程序,该应用程序在控制器中创建一个基于帮助器模块的对象,如下所示:

module StockPricesHelper
    require 'net/http'
    class Stock
        attr_accessor(:data)
        def initialize(stock)
            @url = "http://finance.yahoo.com/d/quotes.csv?s=#{stock}&f=sb2b3jk"
        end
        def download_data
            @data = NET::HTTP.get_response(URI.parse(@url)).body
        end
        def clean_string
            @data = @data.strip
        end
        def db_format
            1
        end
    end
end

我从 rails 服务器收到错误 uninitialized constant StockPricesHelper::Stock::NET

  1. 我是否正确地将其放入帮助模块中?
  2. 我做错了什么?我想我不在范围内,但我不知道在哪里。

【问题讨论】:

    标签: ruby-on-rails ruby helpers


    【解决方案1】:

    您拼错了“NET”模块。它是 Net。 (Ruby 区分大小写)

    Rails 帮助器旨在成为 view 帮助器,即帮助生成 HTML。 看起来您正在执行一些更适合放置在控制器或后台作业中的操作。

    【讨论】:

    • 谢谢。总有一天,我会成为一个非常自信的 Rails 用户,并考虑在我对 oop 的理解中寻找拼写错误而不是主要缺陷:P
    • 在学习一门新的语言或框架时这种感觉是很正常的:)
    猜你喜欢
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    相关资源
    最近更新 更多