0

这是我的 post_controller.rb

before_action :seo_url,only: [:show]
  def seo_url
    @post = Post.friendly.find params[:id]
  end

我的帖子模型包含has_many :uploads和上传模型包含belongs_to :post

这是我的view

<% @post.uploads.each do |image| %>
    <div class="image-thumb">
        <%= image_tag image.upload.url(:thumb) %>
    </div>
<% end %>

拇指工作正常,但我只需要得到first medium image

我尝试了以下方法来获得中等的第一张图片

<%= image_tag @post.uploads.url(:medium) %>

但它会引发错误

undefined method `upload' for #<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Upload:0xb33b7f00>

我怎样才能实现它

4

1 回答 1

0

我认为问题出在这个块:

<% @post.uploads.each do |image| %>
    <div class="image-thumb">
        <%= image_tag image.upload.url(:thumb) %>  #here!
    </div>
<% end %>

你打电话给每个uploadimage- 然后打电话image.upload.url- 这实际上是在打电话upload.upload.url

编辑

工作代码

<%= image_tag @post.uploads.first.upload.url(:medium) %>
于 2013-09-25T13:24:00.373 回答