ruby-on-rails – 在Rails控制台中使用fixture finder助手
发布时间:2020-12-16 19:08:44 所属栏目:百科 来源:网络整理
导读:我经常发现我希望能够使用Rails控制台中的测试夹具查找器(例如用户(:david)).是否有一个特定的Rails模块,我可以在控制台提示符下加载,或者我可以安装的gem,这些可以使这些模块可用吗? 我对谷歌甲骨文的疑问没有改变,所以我没有屏住呼吸,但我希望有人在这里
我经常发现我希望能够使用Rails控制台中的测试夹具查找器(例如用户(:david)).是否有一个特定的Rails模块,我可以在控制台提示符下加载,或者我可以安装的gem,这些可以使这些模块可用吗?
我对谷歌甲骨文的疑问没有改变,所以我没有屏住呼吸,但我希望有人在这里知道一个秘密并愿意分享. 解决方法
自己搞清楚了.这适用于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,那么来自Rails控制台的users(:diane)成功返回该用户. m_x的answer到原始问题有助于达到这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |