日々、内省

ふと思ったこと、脳内ブレストしていることを書いていきます

rails 第三章 静的なページの作成

静的なページを作るというお題

前にwprdpressの編集を行った時も静的なページから始めていた。railsも同じように静的なページ作成=>動的な部分を抜き出す=>それに合うデータベース作成(model)=>データを動かすコントローラーを記述するっていう流れなのかな?

wordpressだとheaderは全部自動化!!みたいな感じで楽だったけど笑

 

それにしてもせいてきって予測変換すると 性的ってなるんだけど、何この変態パソコン

 

テストについて

・正しいコードがないと失敗するコード作成=>そのあとに正しいコード作成

test "should get home" do
get :home
assert_response :success
end

の意味はGETリクエストをHomeアクションに発行、それができたら成功?(このテストコードが呼ばれた時点でHomeアクションってことじゃないの?)

 

リファクタリング

同じコードを記述しない。こまめにクレンジング。常に最適化を

 

テスト用のコード

assert_select "title", "Home | Ruby on Rails Tutorial Sample App"

これの意味はtitleタグ内に以下の文章があるかを確かめるっていう意味。このコードを各テストメソッド内に埋め込んでいきましょう。

 

provide関数:<%provide (:title, Home)%>のようにview内で変数に値を渡す

<%=yield(:title) %>で値を取り出し、htmlに埋め込む

application.html.erb

<!DOCTYPE html>
<html>
<head>
<title><%=yield(:title) %>|Rails Sample App</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

の<body>にある<%= yield %>は何か?

ここに他のテンプレートであるhome.html.erb等の内容が入る=>html構造は無視してOK!一つひな形があればええやん

 

コントローラー内でのセットアップ、変数の記述方法

def setup
@base_title = "Rails Sample App"
end

参照するとき

#{@base_title}

 

分からないところ

・コラム3.1 元に戻す方法 まだやってない

・HTTPメソッド、何を基準として考えているのか

・テストの具体的なやり方(レッド、グリーン、リファクタリングと言われてもw)

・viewに埋め込めるrailsのタグはどんなのがあるんだろうか、、

rails s -b$IP -p$PORT の意味とは