RailsによるアジャイルWebアプリケーション開発第9章

いつも参考にしてる日記を見るとajaxのことについてあるが、第1版を使ってるので内容が違っているようだ。

まずデータベースの作成は8章でやったように自分で読み替えて作成。

フォームの作成でNoMethodError

undefined method `start_form_tag' for #<ActionView::Base:0x1e79c20>

調べてみると

<%= start_form_tag %>
<%= end_form_tag %>

<% form_tag do %>
<% end %>

に変更になったらしい。
こちらを参考にしました。

これを直す時に<% に直すのを忘れて <%= にしていてなかなか気づかなかった。
それで調べたらrubyのコード開始タグと終了タグにもいろいろ表記があることを今更知る。<% ... %>だと表示はされないけど改行や行頭に空白が入ったりする。

   <% ... -%>
Hello

のようにかくと実際は

   Hello

という改行して行頭に空白が入った出力になるのでそれをなくす表記もあります。
対応は以下。

表記 コード実行 表示 行頭空白 改行
<% ... %> -
<%= ... %>
<%- ... %> - -
<% ... -%> - -
<%- ... -%> - - -
<%# ... %> - - -
まあ、ソースに改行が入ってもブラウザで見ればほとんど影響はないんだろうけど念のために。