在 save 返回错误时,render 方法如何将@xxx返回原页面,保证原输入内容不变
这是 articls_controller 下
def 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
这是 new 表单下
<%= form_for :article do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
提交 new 表单,当 article.save 返回错误时,render 方法返回 new,而且提交的内容不变
如果我将 new 表单下
<%= form_for :article do |f| %>
改为
<%= form_for :example do |f| %>
相应的将 controller 下
params.require(:article).permit(:title, :text)
改为
params.require(:example).permit(:title, :text)
那么提交的内容被清除。
这里的参数是怎么传递的呢?