回形针 - 未在查询 INSERT 中传递的图像属性



我有回形针网站上的所有默认设置。当我创建一个新应用程序并输入设置时,一旦我保存了我的模型,"photo"回形针属性就会保存得很好,一切都很好(这里是 SQL INSERT 示例):

"photo"=>#<ActionDispatch::Http::UploadedFile:0x007f990a3d92d0
@original_filename="Screen Shot 2011-10-21 at 6.02.56 AM.png",
@content_type="image/png", @headers="Content-Disposition: form-data;
name="event[photo]"; filename="Screen Shot 2011-10-21 at 6.02.56
AM.png"rnContent-Type: image/pngrn"

我得到:

[paperclip] Saving attachments

现在在我的应用程序中,我使用 Devise 和 Cancan 的其他应用程序,我有完全相同的回形针设置,我确实得到了

[paperclip] Saving attachments.

但是,它不会保存"照片",并且根本看不到定义的照片属性。现在我看到了一个类似的帖子,可以解决添加

attr_accessible photo

到模型,我做到了,但它仍然不起作用。我一直在浪费很多时间,有时我觉得我应该创建自己的图像上传......

知道吗?谢谢!

顺便说一下。在我添加的简单脚手架对象上存在相同问题

attr_accessible :p霍托

如果您使用的是像 jQuery Mobile 这样的框架或某种 AJAX/PJAX 机制,那么您的上传将在 Ajax 中作为 POST 丢失,因为 JS 无法读取您的本地文件......

您必须使用一些类似上传的插件或以"常规"方式提交表单。

编辑:为了清楚起见,最简单的方法是添加 data-ajax="false" 作为表单属性。在 Rails 3 中,使用表单助手,您可以按照以下行编写一些内容:

<%= form_for (@my_object, html: {data: {ajax: false}}) do |f| %>
    ...
<% end %>

最新更新