Ruby on rails 表单数据是通过会话还是参数传递的?
我不理解以下应用程序中Ruby on rails 表单数据是通过会话还是参数传递的?,ruby-on-rails,session-variables,Ruby On Rails,Session Variables,我不理解以下应用程序中会话和参数之间的区别 用户提交一个新的电影表单。关联的控制器如何访问电影的标题 session['title'] session.title params['title'] params.title 所有这些 根据StackOverflow的回答: params存在于url或表单的帖子正文中,因此它在查询完成后立即消失 会话在多个请求之间持续(信息通常存储在cookie中,但这取决于您的配置) 简而言之: params:仅一个请求(创建一个对象,访问一个特定页面) 会话:
会话
和参数
之间的区别
用户提交一个新的电影表单。关联的控制器如何访问电影的标题
session['title']
session.title
params['title']
params.title
params
存在于url或表单的帖子正文中,因此它在查询完成后立即消失
会话在多个请求之间持续(信息通常存储在cookie中,但这取决于您的配置)
简而言之:
- params:仅一个请求(创建一个对象,访问一个特定页面)
- 会话:要持久化的信息(购物车、登录用户..)
session['title']
,结果答错了。我选择(1)是因为我认为它涉及到访问必须持久保存的信息
我是否误解了这个问题,可能这更多地属于“仅一个请求”,因此答案应该是(3)
params['title']
?在访问需要放置的数据之前。在默认rails生成的表单中,所有数据都在一个请求中以参数形式发送。如果您有指向用户#创建操作的表单,并且有“名称”输入,则在用户#创建操作中有参数['name']
会话是另一回事。在standart生成的rails脚手架中很难找到会话。您可以作为哈希访问会话。会话['name']将在请求之间存储名称
因此,参数是为一个请求生成的——将数据从用户传输到服务器,会话不是用于传输数据,而是用于存储数据。在访问数据之前,您需要将其放入。在默认rails生成的表单中,所有数据都在一个请求中以参数形式发送。如果您有指向用户#创建操作的表单,并且有“名称”输入,则在用户#创建操作中有参数['name'] 会话是另一回事。在standart生成的rails脚手架中很难找到会话。您可以作为哈希访问会话。会话['name']将在请求之间存储名称
是为一个请求生成PARAM-将数据从用户传送到服务器,会话不用于传输数据,而是用于存储它。
< P>试图在本测验的上下文中回答您的问题而不是仅在代码的上下文中,考虑它在哪里表示: 参数存在于url或表单的帖子正文中,因此它消失了 一旦查询完成 现在考虑这个问题本身说: 用户提交新电影表单。关联的控制器将如何运行 访问电影的标题 所以问题是,用户通过填写表单进行交互,然后将表单post
ed发送到服务器。这正是您在笔记中提到的“表单的帖子正文”
因此正确答案是3)params['title']
现在,一旦访问了这些数据,就可以将其放入会话中,但这是由开发人员来做或决定的,而这实际上不在本文讨论的范围之内
您还知道,在这个问题的上下文中,会话不是所使用的,因为您的问题只涉及一个请求:发送表单。如果您的问题涉及到必须从多个请求(例如多页表单)持续的表单发送的数据,那么会话可能会起作用。 < P>尝试在本测验的上下文中回答您的问题而不是仅在代码的上下文中,考虑它在哪里表示: 参数存在于url或表单的帖子正文中,因此它消失了 一旦查询完成 现在考虑这个问题本身说: 用户提交新电影表单。关联的控制器将如何运行 访问电影的标题 所以问题是,用户通过填写表单进行交互,然后将表单
post
ed发送到服务器。这正是您在笔记中提到的“表单的帖子正文”
因此正确答案是3)params['title']
现在,一旦访问了这些数据,就可以将其放入会话中,但这是由开发人员来做或决定的,而这实际上不在本文讨论的范围之内
您还知道,在这个问题的上下文中,会话不是所使用的,因为您的问题只涉及一个请求:发送表单。如果您的问题涉及从表单发送的数据,这些数据必须在多个请求(如多页表单)中保存,则会话可能会起作用。我没有得到关于测验的任何其他信息。有没有可能在没有其他信息的情况下做这个问题?我在测验中没有得到任何其他信息。有没有可能在没有其他信息的情况下回答这个问题?