Railsで特定の曜日のリストを作成し、リンクを貼る

(環境)
Rails4.2.2

(1)モデル

(2)config/routes.rb

routes.rb の上から記載した順番に判定されるので、「resources :operations」よりも上の行に、「get ‘operations/midori’」や、

「get “/operations/:year:month:day” => “operations#list”, :constraints => { :year => /[12][0-9]{3}/, :month => /[01][0-9]/, :day => /[0-3][0-9]/ }, :as => ‘operations_list’」

を記載する。このルーティングの記載方法に苦労した。

(3)app/controllers/operations_controller.rb (一部)

list では、localhost:3000/operations/20160722 というアドレスをブラウザに入力したときに、2016年7月22日の手術のリストが表示されるようにしている。

midori では、本日から3か月後までの火曜日、水曜日、金曜日のみの日付を、@operation_weekdays として取得している。

(4)app/views/operations/midori.html.erb (一部)

各日付のリンクを作成するのにも苦労した。

<% f = e.strftime(“%Y%m%d”) %>
<%= link_to ‘その日の手術リスト’, operations_list_path(:year => f[0..3], :month => f[4..5], :day => f[6..7]) %>

としたが、今のままだと、その日付の手術が1件もないと、エラーになってしまう。。。対策方法は、またあとで考える。

localhost:3000/operations/midori

image

(5)app/views/operations/listi.html.erb (一部)

http://localhost:3000/operations/20160803 上記 midori のリンクから

image

関連記事
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする