Rails 3.2.1 で Ruby 1.9.2 を使用しています。
CSVやタブ区切りファイルをアップロードするビューを作成し、テーブルやページネーション表示を使って同じページにファイルの内容を表示し、そのデータをJavaScriptで処理したいと考えています。
これどうやってするの?あなたが持っているコードサンプルを教えてください。私はRubyの初心者でもあります。
Rails 3.2.1 で Ruby 1.9.2 を使用しています。
CSVやタブ区切りファイルをアップロードするビューを作成し、テーブルやページネーション表示を使って同じページにファイルの内容を表示し、そのデータをJavaScriptで処理したいと考えています。
これどうやってするの?あなたが持っているコードサンプルを教えてください。私はRubyの初心者でもあります。
まず、ファイルをアップロードするためのビューを作成します。これにはペーパークリップを使用できます。
resource があると仮定するとCsv
、アップロード フォームは次のようになります。
<%= form_for @csv, :url => csv_path, :html => { :multipart => true } do |form| %>
<%= form.file_field :attachment %>
<% end %>
あなたのモデル:
class Csv < ActiveRecord::Base
attr_accessible :attachment
has_attached_file :attachment
end
コントローラーのアクション:
def create
@csv = Csv.create( params[:csv] )
# your save and redirect code here
end
def show
@csv = Csv.find(params[:id])
end
それがあれば、ビューで次のようなものを使用できます。
CSV.foreach(@csv.attachment.path) do |row|
# use the row here to generate html table rows
end
注: これは、これを行う方法の一般的な考え方にすぎず、リソースをルートに追加し、Paperclip gem をインストールして構成する必要があります。すべての方法については、ドキュメントを参照してください。
CSV ファイルの解析には適切な Ruby gem を使用するだけです。これにより、正しい方向に進むはずです。http://fastercsv.rubyforge.org/