我已经创建了一个自定义配置参数,但不知何故,我的用户模型无法访问其值。
在configuration.rb
:
config.x.user.starting_cash = 50
在我的用户模型中:
# Create wallet for each new user
after_create :create_wallet
# Block for creating a new wallet for each new user
def create_wallet
@wallet = Wallet.new(user_id: self.id, cash: Rails.configuration.x.user.starting_cash)
@wallet.save
end
它确实为新用户创建了一个钱包,但cash
的值为空而不是50
。当手动将现金设置为 50 的整数时,它工作得很好:
@wallet = Wallet.new(user_id: self.id, cash: 50)
当我在 Rails 控制台中访问配置参数时,它按预期工作:
2.6.3 :022 > Rails.configuration.x.user.starting_cash
=> 50
我搜索过的解决方案的文档包括:https://guides.rubyonrails.org/configuring.html#custom-configuration
解决了。我必须重新启动(开发(服务器才能加载配置参数。不知道。
猜猜这是一个初学者的错误,但我确实觉得 Rails 文档可以更明确地说明这一点,因为我们不必重新启动服务器来更改控制器等。