从guide学习导轨,但在new
中有空物品实例的原因是什么?当你去新的时候,它只是为你呈现一个表格,然后当你提交时,它会使用create
行动中的新实例创建它。如果有错误,它将该实例返回到新视图(表单)是否正确?在文档,它说以下:在Rails的新方法中创建实例的目的是什么?
为什么我们在 ArticlesController添加@article = Article.new的原因是,否则@article是零我们 观点,并呼吁@ article.errors。任何?会抛出一个错误。
但是为什么@article
是nil
如果您已经通过create
操作创建一个实例?为什么新操作需要创建另一个有错误的实例?是不是由create
创建的实例与错误将在新的渲染?
//控制器
def new
@article = Article.new
end
def create
@article = Article.new(article_params)
if @article.save
redirect_to @article
else
render 'new'
end
end
private
def article_params
params.require(:article).permit(:title, :text)
end
因此,文章何时无法保存,新文件如何呈现,错误如何从新文件进入@article? – stackjlei
如果'@ article.save'返回'false',那么'new.html.erb'模板会用已定义的'@ article'实例呈现。即'create'方法中的'render'new''不运行'new'方法。它只是使用它的html模板来呈现页面 –
,那么当新的'@ article'用在新的?当你第一次访问该页面查看表单? “@文章”的目的是什么 – stackjlei