Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未定义的方法';装载的物品';_Ruby On Rails - Fatal编程技术网

Ruby on rails 未定义的方法';装载的物品';

Ruby on rails 未定义的方法';装载的物品';,ruby-on-rails,Ruby On Rails,这里缺少一些基本的东西。当尝试检查从该API获取某些项是否完成时,获取未定义的方法“items\u loaded” 您可以动态运行的Live app: 2015060412014\u将加载的项目添加到\u附属公司。rb class MainController < ApplicationController def index # Delay fetching # @products = Affiliate.fetch @products = Affiliate

这里缺少一些基本的东西。当尝试检查从该API获取某些项是否完成时,获取未定义的方法“items\u loaded”

您可以动态运行的Live app

2015060412014\u将加载的项目添加到\u附属公司。rb

class MainController < ApplicationController
  def index
    # Delay fetching
    # @products = Affiliate.fetch
    @products = Affiliate.delay.fetch

    # Let us know when fetching is done
    Affiliate.set_items_loaded
  end

  def check_items_loaded
    @items_status = Affiliate.items_loaded
    respond_to do |wants|
      wants.js
    end
  end
end
require "rest_client"

class Affiliate < ActiveRecord::Base
  def self.fetch
    response = RestClient::Request.execute(
      :method => :get,
      :url => "http://api.shopstyle.com/api/v2/products?pid=uid7849-6112293-28&fts=women&offset=0&limit=10"
    )

    @products = JSON.parse(response)["products"].map do |product|
      product = OpenStruct.new(product)
      product
    end
  end

  def self.set_items_loaded
    self.update_all(items_loaded: true)
  end
end
get '/check_items_loaded', to: 'main#check_items_loaded', as: :check_items_loaded
class AddItemsLoadedToAffiliates < ActiveRecord::Migration
  def self.up
    change_table :affiliates do |t|
      t.column :items_loaded, :boolean, default: false
    end
  end

  def self.down
    change_table :affiliates do |t|
      t.remove :items_loaded
    end
  end
end
class AddItemsLoadedToAffiliates

items\u loaded
是一个实例方法,而不是类方法。

酷,那我该怎么办?得到了一个类似的用例(),我成功地实现了
@photo\u status=photo.find(params[:id])。附件处理
很好。@FlyntHamlock,因为
find
返回了一个实例。我明白了。我之前尝试了
@items\u status=Affiliate.find(:all).items\u loaded
,但没有成功。我哪里出错了?这些项目不在数据库中,所以我想我无法查找
参数[:id]
?@FlyntHamlock,因为
查找(:all)
返回所有附属公司,而不是附属公司的实例。
class AddItemsLoadedToAffiliates < ActiveRecord::Migration
  def self.up
    change_table :affiliates do |t|
      t.column :items_loaded, :boolean, default: false
    end
  end

  def self.down
    change_table :affiliates do |t|
      t.remove :items_loaded
    end
  end
end
@items_status = Affiliate.items_loaded