Im將一個SQLlite Rails 3應用程序轉移到Mongoid Rails 3應用程序時出現問題。在SQLlite版本中,我很容易在一個模型('產品')的嵌套表單中包含來自一個模型('圖像')的圖像上傳表單(使用Paperclip)。這是我的「新」產品形態:使用Rails3與Mongoid和Carrierwave嵌套形式的文件上傳問題
<%= 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) %>
Im相當肯定我的模型在Mongoid版本是正確的,因爲如果我添加一個字符串(如「名」)我的「形象」模型和巢,在「產品」形式,它的工作原理。另外,我能夠將圖像上傳到非嵌套模型表單。
任何幫助將不勝感激!
+1這是我對ActiveRecord的體驗。檢查開發日誌,你可能會看到「無法批量分配值」 – mhenrixon 2011-05-09 16:37:35