私は、MasonryとImgZoomで表示する予定のアルバムを作成しているため、クリックすると大きな画像が表示されます。サムネイルを元の画像にリンクするときの未定義のメソッド 'to_model'
ImgZoomによると、ズーム機能させるために、次の操作を行う必要があります
<a href="path/to/real/image.png">
<img src="path/to/image's/thumbnail.png class="thumbnail" />
</a>
だから私はその中に次のように、アップローダーを生成:
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
'portfolio/photos'
end
version :thumb do
process :resize_to_fit => [220, nil]
end
end
すべてが完璧に動作します私は両方のバージョンを問題なく呼び出すことができますが、ImgZoomの指示に従うと次のようになります:
<%= @portfolio.photos.each do |p| %>
#This is a nested form inside the portfolio form, so I need to do this to get my images
<%= link_to image_tag p.image.thumb.url, p.image %>
か:
<%= link_to p.image do %>
<%= image_tag p.image.thumb.url, :class => 'thumbnail' %>
<% end %>
私は次のエラーを取得しています:undefined method 'to_model' for #<ImageUploader:0x0000000c35f4d8>
私は、スタックオーバーフロー上で同様の主題を見つけましたが、アスカーは明確ではありませんでしたし、フォーラム上の他の質問をする招待されました私は見つけることができませんでした。 私は個別に 'p.image'と 'p.image.thumb.url'にアクセスできますが、単純なhtmlで完全に実行可能なリンクを作ることはできません。
私は間違っていますか?
は、
あなたは.... '' <%=のlink_to p.image.url DO%>を試してみましたか? –
これです。これは簡単でした。畜生!私はそれを受け入れることができるようにこれを本当の答えにしてください。大いに感謝する! – Jaeger
あなたはSimonの答えを受け入れることができます。私は助けになることをうれしく思っています。 –