我的应用程序的route.rb文件包含此命名空间:
namespace :admin do
resources :index
resources :posts do
resources :images
end
resources :statics
end
我使用了Polymorphic Association
发布模型:has_many :images, :as => :imageable
图片模型:belongs_to :imageable, :polymorphic => true
我在迁移中创建了必要的字段。
当我打电话给@ post.images时,没有错误信息,我觉得这种关系很好 我想,我的问题是在图像上传器中,我使用这样的代码:(发布/编辑动作)
[there is post edit form]
<% form_tag admin_post_images_url( @post ) , :multipart => true do %>
<%= file_field :imageable, :photo, :size => 40 %>
<input type="submit" name="send" value="upload!" />
<% end %>
图片上传成功,但imageadble_id和_type并未填写。出了点问题(我想用admin_post_images_url(@ post)部分),有什么问题?
更新
当我添加手动创建imageadble_id并键入并列出其工作时,所以assotiation工作正常。
答案 0 :(得分:0)
尝试这样的事情:
<% form_for([:admin, @post, @image], :multipart => true) do %>
这可能无法正常工作,但应该让您开始走正确的道路。无论如何,如果你使用模型而不是“form_tag”,你需要“form_for”。