Ruby on rails 有人能用ruby给我解释一下这个代码吗?
有人能给我解释一下这个代码背后的Ruby on rails 有人能用ruby给我解释一下这个代码吗?,ruby-on-rails,ruby,Ruby On Rails,Ruby,有人能给我解释一下这个代码背后的逻辑吗 def self.find_first_by_auth_conditions(warden_conditions) conditions = warden_conditions.dup where(conditions).where(["lower(username) = :value OR lower(email) = :value", { :value => signin.downcase }]).first end 我
逻辑吗
def self.find_first_by_auth_conditions(warden_conditions)
conditions = warden_conditions.dup
where(conditions).where(["lower(username) = :value OR lower(email)
= :value", { :value => signin.downcase }]).first
end
我对ruby/rails社区是全新的,我无法理解该函数返回的是什么,以及该函数的总体功能是什么?这似乎是rails activerecord模型的一部分
它是一个类方法,返回满足给定条件的第一条记录,如下所示:
warden\u条件
- 降级用户名或电子邮件必须等于
sign.downcase
SQL等效项应为
SELECT * FROM items WHERE conditions_to_sql AND lower(username) = a_value OR lower(email) = a_value limit 1
这似乎是rails activerecord模型的一部分
它是一个类方法,返回满足给定条件的第一条记录,如下所示:
warden\u条件
- 降级用户名或电子邮件必须等于
sign.downcase
SQL等效项应为
SELECT * FROM items WHERE conditions_to_sql AND lower(username) = a_value OR lower(email) = a_value limit 1
这似乎是rails activerecord模型的一部分
它是一个类方法,返回满足给定条件的第一条记录,如下所示:
warden\u条件
- 降级用户名或电子邮件必须等于
sign.downcase
SQL等效项应为
SELECT * FROM items WHERE conditions_to_sql AND lower(username) = a_value OR lower(email) = a_value limit 1
这似乎是rails activerecord模型的一部分
它是一个类方法,返回满足给定条件的第一条记录,如下所示:
warden\u条件
- 降级用户名或电子邮件必须等于
sign.downcase
SQL等效项应为
SELECT * FROM items WHERE conditions_to_sql AND lower(username) = a_value OR lower(email) = a_value limit 1
返回的是一个活动记录关系——在本例中是一条记录。因为该方法以self
开头,所以它是一个类方法,这意味着它不在单个实例上操作,而是“代表整个类”其中
,当这样使用时,意味着它在self上运行,self也是类
简短回答:它从此类表示的表中返回第一条记录,该记录与传递的SQL条件以及在这些条件之后看到的授权条件相匹配。返回的是一个活动记录关系—在本例中是一条记录。因为该方法以self
开头,所以它是一个类方法,这意味着它不在单个实例上操作,而是“代表整个类”其中
,当这样使用时,意味着它在self上运行,self也是类
简短回答:它从此类表示的表中返回第一条记录,该记录与传递的SQL条件以及在这些条件之后看到的授权条件相匹配。返回的是一个活动记录关系—在本例中是一条记录。因为该方法以self
开头,所以它是一个类方法,这意味着它不在单个实例上操作,而是“代表整个类”其中
,当这样使用时,意味着它在self上运行,self也是类
简短回答:它从此类表示的表中返回第一条记录,该记录与传递的SQL条件以及在这些条件之后看到的授权条件相匹配。返回的是一个活动记录关系—在本例中是一条记录。因为该方法以self
开头,所以它是一个类方法,这意味着它不在单个实例上操作,而是“代表整个类”其中
,当这样使用时,意味着它在self上运行,self也是类
简短回答:它返回该类表示的表中的第一条记录,该记录与传递的SQL条件以及在这些条件之后看到的授权条件相匹配。谢谢,您能解释这部分代码吗。其中(条件)。其中([“较低(用户名)=:value或较低(电子邮件)=:value”,{:value=>sign.downcase}])。first@theJava我刚刚做了,,其中
接受散列或类似SQL的参数。链接两个,其中
s执行逻辑和
。结果在我提供的SQL等价物中进行了描述。我确实得到了SQL查询,但是我缺少了一些代码逻辑。如果不是从项中选择条件,where({a:1,b:2})
转换为其中a=1和b=2
。此方法所做的是获取满足warden_条件
标准的记录,以及用户名
或电子邮件
的记录,其中([“attribute_1=:a或attribute_2=:a”,{a:123}])
转换为其中attribute_1=123或attribute_2=123
。这是一种多次向ActiveRecord查询提供变量而无需重复的方法。请解释这部分代码。其中(条件)。其中([“较低(用户名)=:value或较低(电子邮件)=:value”,{:value=>sign.downcase}])。first@theJava我刚刚做了,,其中
接受散列或类似SQL的参数。链接两个,其中
s执行逻辑和
。结果在我提供的SQL等价物中进行了描述。我确实得到了SQL查询,但是我缺少了一些代码逻辑。如果不是从项中选择条件,where({a:1,b:2})
转换为其中a=1和b=2
。此方法所做的是获取满足warden_条件
标准的记录,以及用户名
或电子邮件
的记录,其中([“attribute_1=:a或attribute_2=:a”,{a:123}])
转换为其中attribute_1=123或attribute_2=123
。这是一种多次向ActiveRecord查询提供变量而无需重复的方法。请解释这部分代码。where(条件)。where([“下