gpt4 book ai didi

ruby-on-rails - 除了Ruby on Rails中的一个参数之外,有没有一种方法可以对所有内容使用质量分配?

转载 作者:行者123 更新时间:2023-12-04 05:43:06 24 4
gpt4 key购买 nike

我正在尝试小写 params[:user][:email]在我的应用程序中,但目前我正在使用 @user = User.new(params[:user]) (包括电子邮件)在我的 def create .是否可以允许对除单个项目之外的所有内容进行批量分配?

我知道我不能使用批量分配,但我想知道这是否可能。

最佳答案

是的。

class User
attr_protected :email
end

下面是你如何使用它:
user = User.new(params[:user])
user.email = params[:user][:email].downcase

但是,如果您想自动将电子邮件属性小写,您可以简单地覆盖 email=方法,我 强烈推荐:
class User < ActiveRecord::Base
def email=(other)
write_attribute(:email, other.try(:downcase))
end
end

Loading development environment (Rails 3.2.5)
irb(main):001:0> User.new({:email => 'Me@you.com'})
=> #<User id: nil, email: "me@you.com", username: nil, created_at: nil, updated_at: nil>
irb(main):002:0> User.new({:email => nil})
=> #<User id: nil, email: nil, username: nil, created_at: nil, updated_at: nil>

关于ruby-on-rails - 除了Ruby on Rails中的一个参数之外,有没有一种方法可以对所有内容使用质量分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865189/

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