내 제품 색인은 모든 제품을 반환하지만 사진이있는 제품 만 원합니다.레일 : 중첩 된 속성을 찾으십시오
컨트롤러 :
@products = Product.all.includes(:photos)
모델 :
class Product < ActiveRecord::Base
has_many :photos
accepts_nested_attributes_for :photos, allow_destroy: true
end
class Photo < ActiveRecord::Base
has_attached_file :image
belongs_to :product
end
스키마 : 당신은 적어도 하나의 photo
이 products
을 인출 할
create_table "photos", force: true do |t|
t.integer "product_id"
t.string "image_file_name"
t.string "image_content_type"
t.integer "image_file_size"
t.integer "user_id"
end
add_index "photos", ["product_id"], name: "index_photos_on_product_id", using: :btree
add_index "photos", ["user_id"], name: "index_photos_on_user_id", using: :btree
create_table "products", force: true do |t|
t.string "name"
t.integer "price"
t.integer "user_id"
t.boolean "sold", default: false
end
당신은 판매 의미? 제품 모델에서 판매 됨 –
이 오류는 제품로드 (1.3ms) "제품"을 선택하십시오. * FROM "products"INNER JOIN "photos"사진 "ON" "product_id"= "products". "id "WHERE"product "."sold "= 'f'GROUP BY photos.id PG :: UndefinedTable : 오류 :"product "테이블의 FROM 절 항목이 누락되었습니다. LINE 1 : ..."photos "."product_id "제품". "id" "제품".... .... ^ : "제품"에서 "제품"INNER JOIN "사진"ON "사진". "product_id"= "제품". " id "WHERE"product "."sold "= 'f'GROUP BY photos.id –
'판매 된'조건을보십시오. 'product.sold'는 잘못되었습니다. 나는 당신이 당신의 코드에 오타가 있다고 결론을 내린다. 'where :'조건을 입력 할 때'product : {sold : false} '를 입력했는데'products'이어야합니다. – Humza