-1

最近アップロードした画像へのリンクを作成しようとしています

<%= link_to (image_tag (post.image_url(:thumb))), post.image.url(:original), :class => 'postimage' %>

まったく機能していないのに...

   <% @post.image do |image| %>

   <%= link_to (image_tag (post.image_url(:thumb))), post.image.url(:original), :class        => 'postimage' %>

 <% end %>

楽しい部分は

<%=  @post.image %>

動作します。ただし、/uploads/post/image/3/eKoh3.jpg のみが表示されます

完全なコードはこちらhttps://gist.github.com/4332533

4

1 に答える 1

0

この行は私には間違っているように見えます:

<% @post.image do |image| %>

(ところで、あなたの要点は実際に言って@post.image.each do |image|いますが、これはあなたが上でやろうとしていたことだと思います)

:imagePost モデルの属性にアップローダをマウントしている場合、これは意味がありません。マウントされたアップローダーを使用すると、1 つの画像をアップロードできますeach。.

あなたが何をしようとしているのかわからない。すべてのバージョンを反復しようとしていますか? 試すpost.image.versions.each

複数の画像をアップロードしようとしていますか? Carrierwave はそれを直接サポートすることはできません。新しいモデル を作成し、Imageそこにアップローダをマウントする必要があります。次のような行Postが必要になります

has_many :images

そして、あなたのImageモデルはbelong_to :post. また、その新しいテーブルで画像をアップロードおよび管理する方法を理解する必要があります。

于 2012-12-19T09:26:40.480 に答える