2

新しい「car_image」を作成すると、Rails エラーが発生します... AJAX 応答は

undefined method `car_image_path' for #<CarImage:0x007fdbb1b79258>

ルートの定義

resources :car_images, :only => [:index, :create, :destroy]

レーキルート

car_images GET    /car_images(.:format)                  car_images#index
POST   /car_images(.:format)                  car_images#create
car_image DELETE /car_images/:id(.:format)              car_images#destroy

ただし、ルートは設定されており、ルートをレーキすると表示されるため、何が問題なのかわかりません。モデルメソッドでルートを使用しています:

class CarImage < ActiveRecord::Base
  belongs_to :car

  attr_accessible :description, :image, :title, :car_id, :file

  mount_uploader :file, CarImageUploader

  def to_jq_upload
    {
      "name" => read_attribute(:file),
      "size" => file.size,
      "url" => file.url,
      "thumbnail_url" => file.thumb.url,
      "delete_url" => car_image_path(:id => id),
      "delete_type" => "DELETE" 
    }
  end

end

ここで未定義のメソッドが発生する原因は何ですか? レコードは保存されますが、エラー応答が返されます...

4

2 に答える 2

2

モデルにリンクが必要なので (これは必要ありません)、これを内部に追加します。

delegate :url_helpers, to: 'Rails.application.routes'

次に置き換えます:

car_image_path(:id => id)

と:

url_helpers.car_image_path(self)
于 2013-05-02T16:03:28.300 に答える