class ArticlesController < ApplicationController
def index
@articles = Article.all
end
def new
@article = Article.new
end
def create
@article = Article.new(article_params)
if @article.save
redirect_to @article #???
else
render 'new'
end
end
def show
@article = Article.find(params[:id])
end
private
def article_params
params.require(:article).permit(:title,:text)
end
end
疑问出处:新手引导的 5.10 小节 http://guides.ruby-china.org/getting_started.html
step1. 新建文章 /articles/new
,填表单,submit 后 post 给 create 方法
step2. 如果有符合 save 条件就重定向到 /articles/:id , 疑问:既然重定向了,也就是实例对象传不到 show 操作了吧,那为什么这样写呢? redirect_to @article
step3. 如果不符合条件就重新渲染 new 方法,这时候显示 errors;疑问:此时的 URL 变为 http://localhost:3000/articles
,WHY?