Attachment_fu插件是慈祥的老人,但我必须修改旧的应用程序,我不能使用其他插件像回形针等,因此,这里是事不宜迟代码

Submissions table structure
---------------------------
| content_type        | varchar(255) | YES  |     | NULL
| filename            | varchar(255) | YES  |     | NULL


app/models/submission.rb
------------------------
has_attachment :storage => :file_system,
           :path_prefix => 'public/submissions',
           :max_size => 2.megabytes,
           :content_type => ['application/pdf', 'application/msword', 'text/plain']   

app/models/user.rb
------------------
has_one :submission, :dependent => :destroy


app/views/user/some_action.html.erb
-----------------------------------
<% form_for :user, :url => { :action => "some_action" }, :html => {:multipart => true} do |f| %>
....
  <%= file_field_tag "submission[uploaded_data]" %>
<%end%>

app/controllers/user_controller.rb
----------------------------------
@user = User.find_user(session[:user_id])
@submission = @user.submission
if request.post?
  @submission.uploaded_data = params[:submission][:uploaded_data]
end

当表单提交,数据库字段“CONTENT_TYPE”和“文件名”得到更新,并显示正确的价值观,但该文件没有出现在目录public/submissions/。我已经检查所提交的材料目录的权限。

我缺少什么?

非常感谢

有帮助吗?

解决方案

具有u试图在 :分区 选项。它会像/0000/0001/image.jpg目录中的文件分区。在默认值的即可。让它的错误即可。我没有尝试..但我觉得你错过了这个选项...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top