我想在rails应用中使用gems 'better_errors'
和'binding_of_caller'
进行调试,但我不想在Gemfile
中包含这些内容。有可能吗?我的第一个念头就是
gem install better_errors
gem install binding_of_caller
但它不起作用,我的意思是安装完成没有问题,但就是这样,当我在localhost上运行我的应用程序时,gem似乎根本不起作用。我需要某种配置集吗?
答案 0 :(得分:1)
但我不想在Gemfile中包含那些。有可能吗?
是的,有可能。您可以在欲望文件夹(例如lib
)中下载相应的目录,并在初始化程序中添加该gem类,以便在启动时加载它。配置因宝石而异。
我的第一个念头就是......但它不起作用,
当然,它不会。你的rails应用程序怎么能神奇地检测到你不知道你有更好的方法来显示错误。只是说你有cancer
公式,医生会在没有你告诉他们的情况下自动将该公式应用于患者。应该在两个方面使用rails-app和gem进行一些交流,这样他们就可以更好地协调和工作。
我需要某种配置集吗?
是的,如上所述。
我不想强迫我的同事使用这些宝石。 KRUKUSA更多细节? //在评论中说
是的,在rails应用程序中包含这些宝石可以完成这项工作。此扩展程序将自动提供给您的工作人员。 (没有施加力:P)
看起来你想要不向其他同事展示这些宝石,如果是这样,你可以在git使用这个技巧。
要实现这一点,首先只需在gem文件中添加gem,运行bundle
然后使用git使其无法跟踪。您可以将Gemfile
和Gemfile.lock
放入.gitignore
文件中。或者你可以添加第一个添加宝石并用下面的命令将其标记为忽略。阅读更多here
git update-index --assume-unchanged Gemfile Gemfile.lock
答案 1 :(得分:0)
另一种可能性是创建自己的环境并相应地使用它。
拥有myenv
的自己的配置:
$ cp config/environments/{development,myenv}.rb
在config/database.yml
中,添加环境myenv
并使用与development
相同的配置:
development: &development
<rest of the code you have on config/databases.yml>
...
myenv:
<< *development
在Gemfile
中添加您要在mydev
群组中使用的自定义宝石:
组:myenv do 宝石'better_errors' 宝石'binder_of_caller' 端
使用RAILS_ENV
运行rails和rake,如下所示:RAILS_ENV=myenv rails c
这种方法的优势在于您仍然可以从仓库获取Gemfile
的更新,如果您需要在Gemfile
中添加一个宝石供所有人查看,您仍然可以。< / p>
此外,没有人会在您的Gemfile中的myenv
组中看到您安装的宝石。