質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3585閲覧

link_toメソッドでのパラメータの受け渡し

lyzmfeqpxs54

総合スコア237

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/09/04 06:59

編集2017/09/05 11:36

いつもお世話になります。
現在、Railsでページを作成しており、データベースのcsvダウンロード機能を付けております。そのページでデータベースを日付の範囲(2016/5/5/ ~ 2017/6/7のような形)で絞って再表示できるようにしております(その際パラメータに2016、5などといった値を入れています)。このときに用いているパラメータを下記のindex.csv.erb部分に渡したいのですがうまいくきません。

ネットで調べてみるとlink_toで渡す場合にxxxxx_pathのような形しか見かけず、下記用に'/user/index.csv'のように直で指定している場合はパラメータを送ることができないのでしょうか。

ご教示のほどお願いいたします。

csvダウンロード

Ruby

1 2# index.csv.erb 3 4require 'kconv' 5 6# この部分にパラメータを渡しその値を使ってデータベースを絞る 7@maildbs = Maildb.where( パラメータを使って条件を絞る ) 8 9columns = [:date, :time, :xxxx, :xxxx] 10res = "" 11res << columns.map{|c| Maildb.human_attribute_name c }.join(',')+"\r" # header 12@maildbs.pluck(*columns).each do |u| 13 res << u.join(',')+"\r" # body 14end 15res.tosjis 16 17 18 19 20 21 22# index.html 23 24<%= link_to 'csv download', '/user/index.csv' %> 2526 この書き方の場合のパラメータ付与方法を知りたい 27 28 29 30 31 32# user_controller.rb 33 34def index 35 respond_to do |format| 36 format.html 37 format.csv do 38 filename = 'users' 39 headers['Content-Disposition'] = "attachment; filename=\"#{filename}.csv\"" 40 end 41 end 42 end 43

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lyzmfeqpxs54

2017/09/06 10:29

ご回答ありがとうございます。「Query String を付与する」という部分が調べてみたのですが理解できず……。もしお時間ありましたらもう少し詳細にご教示いただければ幸いです。よろしくお願いいたします。
guest

回答1

0

ベストアンサー

質問者さまがおっしゃっている

ネットで調べてみるとlink_toで渡す場合にxxxxx_pathのような形しか見かけず

というのは以下のリンクのようなイメージでしょうか?
http://ruby-rails.hatenadiary.com/entry/20150114/1421161200

この方式と同じので良いのなら、index.html にパラメータが渡っているなら

<%= link_to 'csv download', "/user/index.csv?from_year=#{@from_year}~~~" %>

のように Get パラメータをつけてあげればよいかと思います。

投稿2017/09/12 08:08

issei126

総合スコア108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lyzmfeqpxs54

2017/09/16 05:17

連絡が遅くなり申し訳ございません。ご教示いただいた方法で無事解決することができました。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問