gpt4 book ai didi

ruby-on-rails - 如何使用 Ruby on Rails 初始化一个类来设置自定义参数值?

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:44 25 4
gpt4 key购买 nike

我正在使用 Ruby on Rails 3,我想初始化我的类。在我的例子中,我需要设置 params[:name] ||= {}每次我使用那个类(class)。

怎么做?


更新一

是否可以使用类似的东西来简化事情

class A
def initialize
params[:name] ||= {}
end
end

?


更新二

我忘了说在我的课上我必须使用那个参数作为散列:

class A
def initialize
# code to initialize params[:name] ||= {}
end

def action_name
params[:name][:ronda] = "Jack"
end
end

如果我尝试设置 params[:name][:ronda]没有初始化 params[:name] ||= {} ,我得到一个错误。为此,我必须初始化该类。

我上面的代码我能做

  def action_name
params[:name] ||= {}
params[:name][:ronda] = "Jack"
end

它会起作用,但是因为我必须在类里面的每个 Action 中使用它,所以我想折射代码设置 params[:name]一次。

最佳答案

您可以使用初始化函数来设置默认值:

class A  def initialize    @params = {name: {}}  end  def params    @params  endendA.new.params # {:name => {}}

您也可以通过这种方式默认访问:

class A  def initialize    @params = {}  end  def params    @params[:name] ||= {}    @params  endendA.new.params # {:name => {}}

区别在于第一个示例在创建时添加了 :name 参数 (A.new),而第二个示例在访问时添加了它 (A.new.params)。

关于ruby-on-rails - 如何使用 Ruby on Rails 初始化一个类来设置自定义参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911290/

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