繁体   English   中英

用蜻蜓上传Rails文件

[英]Rails file upload with dragonfly

您好,我在Rails中上传文件时遇到此问题。 我已经设置了蜻蜓,并且在管理端运行良好,但是随后我尝试上传我的文件(pdf或doc),它为我的文件属性传递了空参数

okey是以下形式:

= form_for @vacancy_application, url: {action: "create"}, html: {multipart: true, class: "block valid"} do |f|
    %fieldset
      %label{for: "vacancy_application_cv_uid"}= t("vacancy.form.cv")
      = f.file_field :cv
      = f.hidden_field :retained_cv
    %fieldset
      %label{for: "vacancy_application_mv_uid"}= t("vacancy.form.mv")
      = f.file_field :mv
      = f.hidden_field :retained_mv
    %footer
      %a.submit#submit_button{href: "#"}= t("vacancy.form.button_continue")

这是我的控制器:

def create
    @vacancy_application = VacancyApplication.new(app_params)

    respond_to do |format|
      if @vacancy_application.save
        format.html { redirect_to "/" }
        format.json { render json: {link: "/"}, status: :created, location: nil }
      else
        format.html { render action: "vacancy_application" }
        format.json { render json: @vacancy_application.errors, status: :unprocessable_entity }
     end
    end
  end

在模型中,我有:

class VacancyApplication < ActiveRecord::Base
  belongs_to :vacancy

  dragonfly_accessor :cv
  dragonfly_accessor :mv

  validates :cv, presence: true

  alias_attribute :to_text, :title

end

但是,当我尝试发送表单时,会得到如下所示的参数:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"XliKgSIONsDQ4rea1OSk+EuoZHUXWOWUjYsy71vs/Rs=", "vacancy_application"=>{"retained_cv"=>"", "retained_mv"=>""}, "node_id"=>"35", "locale"=>"lv"}

我缺少两个文件上传参数。 我不明白我在做什么错。

是蜻蜓吗? 蜻蜓甚至还支持doc或pdf文件上传? 请帮帮我 :)

PS我在4.0.4 Rails版本和最新的蜻蜓版本上

Okey soooooo愚蠢的我。 我几周前就在做此事,后来停了下来,现在又开始进行这项工作。 而且我完全忘记了我是通过ajax发送此表单的,这当然意味着默认情况下不会发送文件,因为ajax默认情况下不支持文件传输。 因此,我将表单重构为通过POST发送的普通表单,现在它可以正常工作.....让我坐下来思考我的想法并仔细阅读我的代码...好的做法:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM