0

私のアプリには、リストとカテゴリの b/w 関係があります。カテゴリ インデックス ページから、ユーザー フィルター選択ボックスを使用して、ショー ページのリストを表示できるようになりました。

カテゴリ表示ページのリストに添付された画像にアクセスできなくなりました。

list.rb

attr_accessible :placeholder, :categories_ids

  has_and_belongs_to_many :categories
  has_attached_file :placeholder, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png",
                      :url => "/system/:hash.:extension",
                     :hash_secret => "longSecretString"

カテゴリ コントローラ

def index
  @categories = Category.all
end

def show
  @categories = Category.find_by_sql ["select distinct l.* from listings l , categories c, categories_listings cl where c.id = cl.category_id and l.id = cl.listing_id and c.id in (?,?)" ,  params[:c][:id1] , params[:c][:id2]]
end

SQLは、リストをフィルタリングして表示ページに表示するだけで、その属性を表示できますが、プレースホルダーにアクセスできません。showの複数の@categoriesに注意してください

カテゴリーショーページ

<ul>
  <% @categories.each_with_index do |c, index| %>
  <% if  index == 0 %>
    <li class="first"><%= c.place %></li>

    <%= image_tag c.placeholder.url(:thumb) %>

    <li><%= c.price %></li>

    <% else %>
    <li><%= c.place %></li>
    <li><%= c.price %></li>

    <%= image_tag c.placeholder.url(:thumb) %>
    <% end %>

  <% end %>
</ul>

レール上のペーパークリップ宝石ルビーを使用して、ビュー内の別のビューから画像にアクセスします

これは、オブジェクトを複数形にしてループを呼び出すと言われています。 wch は画像にアクセスできるようにします。

この場合は機能しません。

undefined method `placeholder' for #<Category:0x5c78640>

しかし驚くべきことは、そのスタックオーバーフローで提案されているように使用すると、プレースホルダーがすべてのリストのすべての画像の配列として表示されることです.wchは明らかに、私が好む方法ではありません. 問題はどこですか

4

1 に答える 1