0

こんにちは、レールでのファイルのアップロードに問題があります。Dragonfly をセットアップしましたが、管理者側では問題なく動作していますが、ファイル (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"}

両方のファイル アップロード パラメータがありません。私が間違っていることを理解できません。

トンボですか?Dragonfly は doc または pdf ファイルのアップロードをサポートしていますか? お願い助けて :)

PS私は4.0.4 Railsバージョンと最新のトンボバージョンを使用しています

4

1 に答える 1

0

わかりました、私の側からすれば愚かです。私はこれを数週間前に行っていたのですが、やめてしまいました。そして、このフォームをajax経由で送信していたことを完全に忘れていました。これは、ajaxがデフォルトでファイル転送をサポートしていないため、デフォルトではファイルが送信されないことを意味します。だから私はフォームをPOST経由で送信される通常のフォームにリファクタリングし、今はうまく動作します.....私の考えに座って私のコードを見てみましょう...良い習慣:)

于 2014-05-29T09:34:24.717 に答える