В моем приложении seeds.rb
Я создаю объект Template, используемый для целей тестирования. Обычно шаблон создается через форму, для которой требуется файл, загруженный с ним. Файл сохраняется в S3, и URL-адрес добавляется к объекту Template в качестве атрибута.Rails ActiveRecord Создать с параметрами файла
Как передать в тело файла и имя файла в файле семени, чтобы URL-адрес был правильно установлен на объект Template?
seeds.rb
# need to include params[:template][:body].tempfile
# and params[:template][:body].original_filename
template = user.templates.new(name: 'test_template.docx')
template.save
templates_controller.rb
def create
# upload to s3
file_name = params[:template][:body].original_filename
s3 = Amazon::S3.resource
obj = s3.bucket(User.directory_bucket).object(current_user.uuid + '/templates/' + file_name)
obj.upload_file(params[:template][:body].tempfile)
# create template
@template = Template.create(name: file_name, url: obj.public_url, user_id: params[:template][:user_id])
# redirects/response
end
Вы хотите сохранить файл, на котором ссылаетесь в файле seeds.rb на S3? Или вы надеетесь, что test_template.docx может просто жить локально? – kcdragon
Я хотел бы сохранить файл в S3. После этого данные испытаний будут очищены от – Tyler