rails4で、一つのモデルを複数のviewで表示したい場合
app/models/operation.rb
に対して、
app/views/operations/index.html.erb
で一覧を表示する。
しかし、一覧の表示方法として、複数の表示方法がほしいときがある。曜日毎とか、入院日毎とか。
→ 新しく、
rails generate controller StaticPages home help
などと、別の名前のcontrollerを作成し、
app/controllers/static_pages_controller.rb
[sourcecode language='ruby' padlinenumbers='true'] class StaticPagesController < OperationsController def home @operations = Operation.all require 'date' base3 = Date.today @fridays = (base3...base3.next_month).select{ |e|e.friday? } end def help end end [/sourcecode]
と、operations_controller.rbを継承しておき、
app/views/static_pages/home.html.erb
[sourcecode language='ruby' ] <h1>StaticPages#home</h1> <p>曜日のリストを表示する</p> <div> <% require 'date' %> <% base = Date.new(2015,7) %> <%= (base...base.next_month).select{ |e|e.friday? } .map{ |e|e.strftime('%Y/%m/%d (金)') } .join("n") %> </div> <div> <% base2 = Date.today %> <%= (base2...base2.next_month).select{ |e|e.friday? } .map{ |e|e.strftime('%Y/%m/%d (金)') } .join("n") %> </div> <% @fridays.each do |e| %> <li><%= e.strftime('%Y/%m/%d (金)') %></li> <% end %> <div> <% @operations.each do |operation| %> <li><%= operation.patientname %></li> <% end %> [/sourcecode]
とすると、うまくいくかもしれない。
(上には余計なものも入っている。)
まだtryしている最中。
参考:
201507-30てぃーびーの Ruby 練習帳 | 特定の月の特定の曜日の日付配列を取得し、特定のフォーマットで出力する
http://tbpgr.hatenablog.com/entry/2015/07/30/233852
●日付に曜日を表示する。
http://qiita.com/hisa0507/items/8209448f1e3e20b96b52
created_atなどに日本語曜日入り日付フォーマットを1行で書く
hisa0507が2012/11/30に投稿(2012/11/30に編集)