我到处搜索试图找到解释如何工作/它的目的是什么,但我找不到任何有用的。 我正在做Michael Hartl的教程,我的问题主要是关于两个操作:'新'和'创建'。 新的动作有以下几点:Ruby on Rails中User.new的解释? (从迈克尔哈特尔的教程)
def new
@user = User.new
end
,在对应于“新”行动的看法,有一个的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 isntance变量?在我们的“创建”操作中仅仅拥有@user = User.new(user_params)是不够的吗? User.new是否有必要使表单正常工作?
我主要是想弄清楚@user = User.new在我们的'new'动作及其相应的'new'视图(带有形式)中完成了什么,以及为什么当我们创建'create '实际上是创建对象的动作。任何帮助都非常赞赏。谢谢大家一直尽力解释。提前感谢任何回答此问题的人。
好吧......我想我现在明白了,至少比我在提问之前做得更好。 Rich,我必须感谢你的回应。感谢您调整我的原始问题,我仍然在学习如何正确使用本网站。感谢您让编程社区对新人感到欢迎。 – Parker
感谢您的友好的话!没问题,一旦你意识到许多基础知识,你会学得更快。当它开始受到伤害时,你不知道核心功能 –