尝试在控制器中调用方法时出错。以下有关如何使其工作的教程,但只是有点陷入困境并需要一些帮助。
NoMethodError in CatalogController#index
undefined method `art' for #<Class:0x007fbe8c338310>
我的模特
require 'httparty'
require 'json'
class Feed < ActiveRecord::Base
include HTTParty
base_uri 'https://www.parsehub.com/api/v2/runs'
# GET /feeds
# GET /feeds.json
def art
response = self.class.get("/tnZ4F47Do9a7QeDnI6_8EKea/data?&format=json")
@elements = response.parsed_response["image"]
@parsed = @elements.collect { |e| e['url'] }
end
end
我的控制器
class CatalogController < ApplicationController
def index
@images = Feed.art
end
end
我猜它是一件相当简单的事我忘记了。
答案 0 :(得分:2)
def art
定义实例方法,而不是类方法。
您有两种方法可以解决此问题:
1)通过将self.
添加到定义:
def self.art
# ...
2)或者在调用Feed
之前在控制器中创建art
实例:
def index
@images = Feed.new.art
end