gpt4 book ai didi

ruby-on-rails - 这个参数符号在 Rails session 中来自哪里

转载 作者:行者123 更新时间:2023-12-04 03:48:23 24 4
gpt4 key购买 nike

我正在阅读 Obie Fernandez 的 Rails 3 Way。他正在演示插件 Authlogic 的使用,并创建了一个 User 和 UserSession 模型以及一个 UsersController 和 UserSessionsController。

他没有创建任何 View (但他可能假设存在一些 View )

在UserSessionsController中,他创建了这段代码

class UserSessionsController < ApplicationController 

def new
@user_session = UserSession.new
end

def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
redirect_to user_path(current_user)
else
render :action => :new
end
end

def destroy
current_user_session.destroy
redirect_to new_user_session_path
end

end

我的问题与创建方法有关。当他写作时

UserSession.new(params[:user_session]) 

:user_session 从哪里来?我理解 UserSession.new 实例化了一个新对象,但是参数从何而来?他们会有什么名字?

是否依赖于想象中的某些东西?还是这些参数是由 Rails 根据模型名称自动生成的?

最佳答案

params 是传递给所有操作的特殊哈希值,无论类型如何。如果给定的 Action 没有参数,那么它就是空的。这就是您如何将参数从页面/表单/URL 参数传递到操作中。最常见的参数来源之一是来自表单的数据元素。

在 authlogic 的情况下,它包含用于创建用户 session 的用户凭据(用户名、密码)。

查看 the parameters section获取更多信息。

关于ruby-on-rails - 这个参数符号在 Rails session 中来自哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com