[英]How are params passed from the New to Create action in Rails?
我知道,用于Rails表单的new
动作通常会实例化一个模型,并提供带有允许参数输入的视图。
def new
@post = Post.new
end
我没有得到的是用户提交的相同信息如何被传递到create
动作中的Post.new
方法中:
def create
@post = Post.new(post_params)
...
end
尽管发生页面刷新,Rails如何引导这些参数create
?
您正在将两个请求相互混合。 当您点击new
操作时,将呈现包含form
的视图。 随着它的呈现, new
动作完成,现在new
动作与create
动作无关。
您需要采取new
操作来通过form_for
方法创建一个form
,在该form
中您实际传递了一个对象,例如@post
。
在create
行动是独立的, params
收到,他们什么都没有做new
方法,这些params
通过接收form
中的各种意见new.html.erb文件中呈现。
您还可以通过AJAX甚至使用cURL或POSTMAN-chrome扩展名发送数据,从而在控制器中调用create
方法。
如您所问:
尽管发生页面刷新,Rails如何引导这些参数创建?
Rails不会引导这些params
,Rails在后端运行,Rails只是接收那些params
。 它们是通过HTML表单发送的,正如我之前说的,还有其他发送params
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.