私のアプリには、リストとカテゴリの 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は明らかに、私が好む方法ではありません. 問題はどこですか