Ruby on Rails 覚え書き①

ドットインストールのRuby on Rails 4入門を勉強しましたので覚え書きとして。

アプリケーションの作成
rails new app_name
Modelの作成
rails g model モデル名 属性名:型

modelの後にはモデル名を先頭大文字、単数形(Modelsは☓)で記述。
その後ろには属性の名前:型を記述する。stringの場合は型を省略可能。
マイグレーションファイルが作成される。

DBへの反映
rake db:migrate
サーバーの起動
rails s
Controllerの作成
rails g controller コントローラー名

controllerの後ろにはコントローラー名を先頭大文字、複数形で記述。
通常はモデル名の複数形を指定する。

config/routes.rbの編集(ルーティング)
resources :コントローラー名(先頭小文字)
ルーティングの確認
rake routes
controlles/projects_controller.rbの編集
def index
  @projects = モデル名.all
end

@projectsは後述するViewの中から参照可能。

views/projects/index.html.erbの作成

ファイルを作成し、ファイルにHTML形式で表示するコードを記述する。

<h1>タイトル</h1>
<ul>
  <% @projects.each do |project| %>
  <li><%= link_to project.title, project_path(project.id) %></li>
  <% end %>
</ul>
rootアクセス時の設定(routes.rb)
root 'projects#index'

rootアクセス時に/projects(のindex.html)を表示する。

formの作成

projects_controller.rb

def new
  @project = Project.new
end

new.html.erb

<%= form_for @project do |f| %>

<p>
  <%= f.label :title %><br>
  <%= f.text_field :title %>
<p/>

<p>
  <%= f.submit %>
<p/>
<% end %>
actionで共通に行う処理
before_action :メソッド名, only: [:action名, ...]

private 
def メソッド名
  共通処理
end

before_actionは各アクションを実行する前に共通して行う処理を書く。after_actionもある。
onlyを指定しなければ、全アクションで実施する。