簡単!Rails3.2を使って10分でブログアプリを構築する方法

scaffoldによる各種リソース自動生成

$ rails generate scaffold Post name:string title:string content:text
$ rake db:migrate
これで、ブログ記事のCRUD(表示、一覧、作成、変更)ができるようになります。
記事一覧画面へのリンクを貼る
app/views/home/index.html.erb を編集
<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
<h1>Hello, Rails!</h1>
<%= link_to "My Blog", posts_path %>
"My Blog"リンクをクリックして、http://locahost:3000/posts に遷移すればOK
バリデーションを追加する
app/models/post.rb を編集
class Post < ActiveRecord::Base
  validates :name,  :presence => true
  validates :title, :presence => true, :length => { :minimum => 5 }
end
nameやtitleが空のままで投稿してエラーが出ればOK

コメント機能を実装する

$ rails generate model Comment commenter:string body:text post:references
$ rake db:migrate
app/models/post.rb を編集
class Post < ActiveRecord::Base
  validates :name,  :presence => true
  validates :title, :presence => true, :length => { :minimum => 5 }
 
  has_many :comments
end
config/routes.rb を編集
resources :posts do
  resources :comments
end
$ rails generate controller Comments
app/views/posts/show.html.erb を編集して下記を追記
<h2>コメント</h2>
<% @post.comments.each do |comment| %>
  <p>
    <%= comment.commenter %>: <%= comment.body %>
    <%= link_to '削除', [comment.post, comment],
               :confirm => 'よろしいですか?',
               :method => :delete %>

  </p>
<% end %>

<h2>コメントを書く</h2>
<%= form_for([@post, @post.comments.build]) do |f| %>
  <div class="field">
    <%= f.label :commenter %><br />
    <%= f.text_field :commenter %>
  </div>
  <div class="field">
    <%= f.label :body %><br />
    <%= f.text_area :body %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>
app/controllers/comments_controller.rbを編集
class CommentsController < ApplicationController
  def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.create(params[:comment])
    redirect_to post_path(@post)
  end

  def destroy
    @post = Post.find(params[:post_id])
    @comment = @post.comments.find(params[:id])
    @comment.destroy
    redirect_to post_path(@post)
  end
end
以上です。
参考
Ubuntu12.04にRuby1.9.3とRails3.2をインストールする方法
Ruby on Rails Guides: Getting Started with Rails
カテゴリ: