首页 > 解决方案 > Carrierwave:无法将图像解析为 URL:未定义的方法“to_model”

问题描述

我收到此错误:

Can't resolve image into URL: undefined method `to_model' for #<PortfolioUploader:0x007fd1538a2a60>
Did you mean?  to_xml

我正在使用carrierwave rails,当我检查我的表格时,如下所示:

  <% @portfolios.each do |portfolio_item| %>
  <p><%= portfolio_item.title %> </p>
  <p><%= image_tag portfolio_item.thumb_image unless portfolio_item.thumb_image.nil? %> </p>
  <p><%= portfolio_item.body %> </p>
  <p><%= link_to "Edit", edit_portfolio_path(portfolio_item) if logged_in?(:site_admin)%></p>
  <p><%= link_to "Delete", portfolio_path(portfolio_item), method: :delete, data: { confirm: 'Are you sure?' } if logged_in?(:site_admin)%></p>
  <% end %>

在我的表格上:

<%= render 'form', portfolio: @portfolio %>




 <div class="field">
    <%= f.file_field :main_image %>
  </div>

  <div class="field">
    <%= f.file_field :thumb_image %>
 </div>

在我的模型上,我放了 ff:

  mount_uploader :thumb_image, PortfolioUploader
  mount_uploader :main_image, PortfolioUploader

知道我错过了什么吗?

标签: ruby-on-railsrubycarrierwave

解决方案


我想应该是

<%= image_tag portfolio_item.thumb_image.url unless portfolio_item.thumb_image.nil? %>

推荐阅读