我正在学习Ruby on Rails,我不确定我的理解是正确的。将实例对象作为参数传递给redirect_to方法
我只限定在控制器的方法:
def create
page_params = params.require(:page).permit(:title, :body, :slug)
@page = Page.new(page_params)
#render text: @page.to_json
@page.save
redirect_to @page
end
首先,我的形式的数据存储到一个实例变量@page,我用render text: @page.to_json
,看看在对象,其中包含内容:
{
id: null,
title: "This a new post",
body: "This a new post This a new post",
slug: "This a new post",
created_at: null,
updated_at: null
}
第一个问题是,似乎在@page中没有url信息,Rails如何通过@page知道路径?
另一个问题是,当我将这个实例对象传递给redirect_to时,它是否为语法糖redirect_to url_for(@page)
?
2.是的。 1.请参阅Q2上的答案:) – mudasobwa