【问题标题】:Rails file upload with dragonfly使用蜻蜓上传Rails文件
【发布时间】:2014-05-29 08:21:15
【问题描述】:

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

好的,这里是表格:

= 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文件上传吗?请帮帮我:)

附:我在 4.0.4 Rails 版本和最新的蜻蜓版本

【问题讨论】:

  • 请检查此链接,这可能会有所帮助。 markevans.github.io/dragonfly/rails
  • 我一次又一次地浏览那个页面。一切都设置好了,允许参数,cv_uid 和 mv_uid ar 数据库,蜻蜓访问者我不知道为什么发送的表单发送空参数!

标签: ruby-on-rails file-upload dragonfly-gem


【解决方案1】:

好吧,我太傻了。几周前我在做这件事并停止了,现在又开始做这件事了。而且我完全忘记了我是通过 ajax 发送此表单,这当然意味着默认情况下不发送文件,因为默认情况下 ajax 不支持文件传输。所以我将表单重构为通过 POST 发送的普通表单,现在它工作得很好......谢谢让我坐在我的想法上并通过我的代码......良好的做法:)

【讨论】:

    猜你喜欢
    • 2012-09-14
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多