スポンサーリンク

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

スポンサーリンク