カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

『Ruby on Rails 5 アプリケーションプログラミング』を学習する2

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

序文

Ruby on Rails 5 アプリケーションプログラミング」学習2日目。
あんまり時間とれなくて残念。

GitHub

github.com

客観的成果

  • 第2章
    • 2.3 ビューの基本

(学習時間:1時間)

コード実装部分

↓/app/controllers/yahoo_controller.rb

# コントローラークラスはすべてApplicationControllerクラスを継承する
class YahooController < ApplicationController
  # 不必要なアクションメソッドは省略可能。
  # 省略した場合、直接テンプレートファイルを実行してくれる

  # 省略

  def view
    # テンプレート変数(@~)を設定することで
    # ビューにデータを渡すことができる
    @msg = 'ヤッホー!世界!'
    # 以下のような書き方でデフォルト以外の
    # テンプレートを指定することも可能
    # render 'yahoo/template_hoge'
  end
end

↓app/views/yahoo/view.html.erb

<%# テンプレートファイル(コントローラー名/アクション名.html.erb) %>

<%# rails generate controller yahoo show みたいに %>
<%# コントローラー生成することでテンプレートファイルも一緒にできる %>
<div id="main">
<%# <%=…%_>タグ(アンダーバー不要)は %>
<%# 変数の値あるいは与えられた式の結果を出力する %>

<%# <%…%_>タグ(アンダーバー不要)は %>
<%# 与えられた式の実行のみを行い、結果を出力しない %>

<%# <%…-%_>タグ(アンダーバー不要)や %>
<%# <%=…-%_>タグ(アンダーバー不要)は %>
<%# 終了タグ後のスペースや改行などを除去することができる。 %>
<%# HTMLが改行されてしまうので見にくい… %>

<%# タグは複数行にわたることも可能 %>

<%# インスタンス変数はコントローラー側の記述同様 %>
<%# @…で参照できる %>
<%= @msg %>
</div>

↓/config/routes.rb

# ルーティング設定を指定する
Rails.application.routes.draw do

  # 省略

  # to: を省略した書き方
  get 'yahoo/view'
  # get 'yahoo/view', to: 'yahoo#view'と同等
end

↓app/views/layouts/application.html.erb

<%# レイアウトテンプレート(デザインの外枠) %>
<!DOCTYPE html>
<html>
  <head>
    <title>Railbook</title>
    <%= csrf_meta_tags %>

    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
  </head>

  <body>
    <%# yieldに個別のテンプレートを埋め込んで出力する %>
    <%# yield: 産出する %>
<%= yield %>
  </body>
</html>

<%# コメントの書き方1 %>
<%# コメントです %>

<%# コメントの書き方2 %>
<% msg = 'これはコメントにはならない。' # ここからはコメント %>

<%# コメントの書き方3 %>
<% if false %>
コメントです
<% end %>

<%# コメントの書き方4 %>
<%# =begin,=endは行頭に書かなければいけない %>
<%
=begin
%>
コメントだよ
<%
=end
%>

<%# HTMLのコメントの書き方 %>
<!-- <%= 'HTMLソースとしては出力されるが' %> -->
<!-- <%= 'ブラウザー上には表示されないコメント' %> -->

感想

今日はあんまり時間とれなかった。
まだこのくらいまでなら理解できていると思う。
.html.erbファイルをいい感じにシンタックスハイライトしてくれる方法ないのかしら。
はてなブログの機能では対応していない模様。こんなにいっぱいあるのに。
help.hatenablog.com
Gistから貼り付ける方法も試してみたんだけど、うまくいかなかった。
とりあえずhtmlの設定でシンタックスハイライトしている。
いい方法知ってる人教えてください _(._.)_
カロリーメイトください。

BGM

会って話そう / 集団行動
www.youtube.com