ist*_*tan 2 ruby-on-rails paperclip
我正在使用paperclip将多个文件附加到Entry对象
Class Asset < ActiveRecord::Base
belongs_to :entry
has_attached_file :asset, ...
Run Code Online (Sandbox Code Playgroud)
当用户通过嵌套表单上传文件时,可以很好地工作.但是,我有某些情况,不是通过输入表格上传文件,而是由于闪存录音机.音频被记录并异步上传到我的/ tmp文件夹.所以我最终得到了我的服务器上的一些文件,这些文件还没有通过paperclip上传.
在这些情况下,我想把文件传递给回形针进行处理,好像它是由用户通过输入表单上传的.即我需要在控制器内以编程方式使用回形针.
你会怎么做到这一点?非常感谢!
通常,上传的文件作为哈希中的File对象传递给您的控制器params,然后由构造函数将其传递给attributes=Paperclip创建的setter方法has_attached_file- 在您的模型的情况下Asset#asset=(可能希望稍微澄清这些名称) ).
不,这不是你问题的答案,但它引导我们回答.知道您可能意识到您可以随时使用a File作为参数调用该setter .例如:
class SomeController < ActionController::Base
def some_action
@some_asset = Asset.find 123 # (for example)
file_path = '/tmp/path/to/your/file'
file = File.open(file_path, 'r')
@some_asset.asset = file
@some_asset.save
end
end
Run Code Online (Sandbox Code Playgroud)
希望有用!