gpt4 book ai didi

ruby-on-rails - 在 Rails 控制台中使用 fixture finder helpers

转载 作者:数据小太阳 更新时间:2023-10-29 06:50:02 24 4
gpt4 key购买 nike

我经常发现我希望能够从 Rails 控制台使用测试 fixture 查找器(例如 users(:david))。有没有我可以在控制台提示符下加载的特定 Rails 模块,或者我可以安装的 gem,使它们可用?

我对 Google Oracle 的查询没有任何结果,所以我没有屏住呼吸,但我希望 SO 上有人知道一个 secret 并愿意分享。

最佳答案

我自己想出来了。 这适用于 IRB 和 Pry . 只需将以下行添加到我的 .irbrc(和/或 .pryrc)文件即可。

require 'active_record/fixtures'

def method_missing(method_name, *args, &block)
if fixture_names.include?(method_name)
method_name.to_s.singularize.titleize.constantize.find(fixture_id(args[0]))
else
super
end
end

def fixture_id(label)
ActiveRecord::FixtureSet.identify(label)
end

def fixture_names
Dir["#{Rails.root}/test/fixtures/*.yml"].map { |filename| filename.match(/\/([^\/]+)\.yml/)[1].to_sym }
end

现在,假设有一个 test/fixtures/users.yml 文件,它包含一个名为 diane: 的 fixture,然后 users(:diane) 从 Rails 控制台成功返回该用户。

m_x 的 answer对原始问题的回答有助于达到这一点。

关于ruby-on-rails - 在 Rails 控制台中使用 fixture finder helpers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8483415/

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