2

まず第一に、私は RoR の真の初心者なので、質問の単純さを許してください。POST パラメーターを使用してファイルをアップロードしようとしています。フォームは基本的です: text_field (ファイルとは関係ありません) と file_field。CarrierWave gem を使用しています。アイデアは、ユーザーから選択したファイルを取得し、ローカル フォルダーにアップロードすることです。

ファイルをアップロードできません。理由がわかりません。誰かがアイデアを持っていますか?

私のコード:

ビュー/ホーム/index.html.erb

<%= form_for @home, :url => {:action => 'uploadFile'}, :html => {:multipart => true} do |f|%>
<div class="field">
  <tr>
    <td><%= f.label :campagne, "Nom de la campagne : " %></td>
    <td><%= text_field_tag :campagne %></td>
  </tr>
</div>
<div class="field">
  <tr>
    <td><%= f.label :fichier, "Fichier de numéros : " %></td>
    <td><%= f.file_field :fichier %></td>
  </tr>
</div>
</table>
<p><%= f.submit "Charger le fichier"%></p>  
<% end %>

ホームコントローラー:

def index
    self.new
    render :file => 'app\views\home\index.html.erb'
end

def new
    @home = Home.new(params[:fichier])

end

def uploadFile
    #campagne = params[:campagne]
    #chemin = params[:numeros]
    #post = DataFile.save(params[:upload])
    #render :text => "Nom de la capagne : #{campagne} et Chemin du fichier : #{chemin}"
    #post = DataFile.save(params[:upload])
    require "carrierwave"

    # Stockage du fichier à l'aide de CarrierWave
    stockage = FichierUploader.new
    stockage.store!(params[:fichier])

    render :text => "File has been uploaded successfully " + " Campagne : " + params[:campagne] + " Fichier : " + params[:fichier].to_s
end

routes.rb :

match "home" => "home#index"
match "home/uploadFile" => "home#uploadFile"

resources :home
get 'home/uploadFile'
post 'home/uploadFile'
4

0 に答える 0