0

その特定のオブジェクトの属性を持つ API を呼び出すために、いくつかのインスタンス変数を渡そうとしています。ユーザーが車の詳細 (メーカー、モデル、年式) を入力すると、オファー オブジェクトが作成されます。これは、その車の情報を取得するために Edmund の API に渡されるはずです。特定のメーカー/モデル/年を設定するとコードは正常に機能しますが、作成されたオファー オブジェクトの情報を返すようにすることはできません。

これが私のコントローラーです:

def show
@offer = Offer.find(params[:id])
@wanted_ad = WantedAd.find(params[:wanted_ad_id])
@make = @offer.ownermake
@model = @offer.ownermodel
@year = @offer.owneryear

respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @offer }
end
end

そして、ここに私のモデルがあります:

class Offer < ActiveRecord::Base
    attr_accessible :user_id, :wanted_ad_id, :estvalue, :image1, :offerprice, :ownercartype, :ownerdesc, :ownermake, :ownermileage, :ownermodel, :owneryear
    belongs_to :user
    belongs_to :wanted_ad
    has_one :car

    def self.carsearch
        @car = []


        carinfo = HTTParty.get("http://api.edmunds.com/v1/api/vehicle/#{make}/#{model}/#{year}?api_key=qd4n48eua7r2e59hbdte5xd6&fmt=json")
        carinfo["modelYearHolder"].each do |p|
            c = Car.new
            c.make = p["makeName"]


            return carinfo
    end 
    end
end

私の車のモデルは単純です:

class Car < ActiveRecord::Base   
  attr_accessible :make, :model, :year 

  belongs_to :offer  
end

そして、ビューファイルから<%= Offer.carsearch %>. 私はおそらくあらゆる種類の混乱を招いていますが、API を使用するのはこれが初めてであり、非常に迷っています。

4

1 に答える 1