1.使用scaffold实现出blog,并对页面做一些美化
rails g scaffold post title:string content:text
2.使用scaffold生成comments(使用model也可以),
rails g scaffold comment post_id:integer content:text
3.在Post.rb和Comment.rb中加入数据验证
class Post < ActiveRecord::Base
validates :title, :presence => true , :uniqueness => true
validates :content, :presence => true
end
comment的类似
4.加入一对多关系:
belongs_to :post
has_many :comments
5.改变路由规则如下
resources :posts do
resources :comments
end
6.写好对应的action,comment那些由scaffold生成的action和所有view全部删掉,实际上只需要一个create即可
注意点:comment是关联到post的,所以其create如下:
class CommentsController < ApplicationController
def create
params.permit!
@post = Post.find(params[:post_id])
@comment = @post.comments.new(params[:comment])
redirect_to @post if @comment.save
end
end