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に編集)