SQLlite Rails 3 アプリを Mongoid Rails 3 アプリに転送する際に問題が発生しています。SQLlite バージョンでは、あるモデル (「画像」) からの画像アップロード フォーム (ペーパークリップを使用) を、別のモデル (「製品」) からのネストされたフォーム内に簡単に含めることができます。これが私の「新しい」製品フォームです。
<%= form_for @product, :html => {:multipart => true} do |f| %>
<% f.fields_for :images do |image_form| %>
<%= f.label :productphoto %>
<%= f.file_field :productphoto %><br />
<% end %>
<% end %>
そして、ここに「ショー」ビューがあります:
<% @product.images.each do |image| %>
<%= image_tag image.productphoto.url(:gallerythumb) %><br />
<% end %>
Mongoid Rails 3 アプリ (Carrierwave を使用) で同じ製品ビューを使用しようとすると、次のエラーが発生します。
TypeError in Stores#show:
can't convert nil into String
<%= image_tag product.image.url(:gallerythumb) %>
「イメージ」モデルに文字列(「名前」など)を追加し、それを「製品」フォームにネストすると機能するため、Mongoid バージョンのモデルが正しいと確信しています。また、ネストされていないモデル フォームに画像をアップロードすることもできます。
どんな助けでも大歓迎です!