【发布时间】:2015-10-18 13:58:02
【问题描述】:
我到处搜索,试图找到有关其工作原理/用途的解释,但找不到任何有用的信息。 我正在做 Michael Hartl 的教程,我的问题主要是关于两个动作:“新建”和“创建”。 新操作具有以下内容:
def new
@user = User.new
end
在对应于'new'动作的视图中,有一个form_for帮助器,用户可以在其中输入他们的属性并点击提交。正如预期的那样,form_for 助手的开头如下所示: form_for(@user)
但是这里是我被难住的地方......在创建操作中,有以下代码:
def create
@user = User.new(user_params)
#user_params is a function we defined which simply returns the permitted params from the user.
@user = User.new 在“新”操作中的目的是什么? User.new 甚至完成了什么?我假设实例变量@user 是传递给表单所必需的,但在这种情况下,为什么我们必须在“create”中重新声明一个@user isnttance 变量?在我们的“创建”操作中只有 @user = User.new(user_params) 还不够吗? User.new 是否需要以某种方式使表单正常运行?
我主要只是想弄清楚@user = User.new 在我们的“新”操作及其对应的“新”视图(带有表单)中完成了什么,以及为什么当我们有一个“创建”时它是必要的实际创建对象的动作。非常感谢任何帮助。谢谢大家一直在尽力解释。提前感谢任何回答此问题的人。
【问题讨论】:
-
你问我现在想知道什么,谢谢!在阅读了整个问答之后,我想我对这部分的了解更多。
标签: ruby-on-rails ruby