生产环境中如何编辑Rails Gem

3
我想编辑一个特定的 gem:https://github.com/rderoldan1/md_simple_editor。问题是没有刷新页面就无法加载编辑器。可以在这里检查这个问题:https://github.com/rderoldan1/md_simple_editor/issues/9。我通过编辑文件 /usr/local/rvm/gems/ruby-2.3.4/gems/md_simple_editor-0.3.0/app/assets/javascripts/md_simple_editor.js.coffee 在本地解决了这个问题。只需像上面在 gem url 中发布的问题中其他用户所说的那样,编辑代码即可解决问题。但我找不到正确的位置来解决生产环境中的问题,请问有人能指点一下正确的目录路径吗?提前感谢您的帮助。

1
你需要做的是将那个文件放入你自己的代码库中并进行包含。你也可以fork这个gem,进行所需的更改,并在Gemfile中指向它。 - Josh Brody
1
绝不应该直接在生产环境中编辑代码。这不是你进行修复的正确方式。应当创建一个 gem 的 fork(或使用现有的 fork),更新 Gemfile 文件以使用修复后的版本(在你自己的机器上,而不是在生产环境中!),运行 bundle 命令,如果一切正常,然后像平常一样部署即可。 - Tom Lord
1个回答

3

不要那样做。你应该分叉这个 gem,在 gem 代码中进行更改,并确保编写测试以证明你的代码按预期工作。然后将代码推送到你在 github 上分叉的仓库。

然后发起一个拉取请求,支持开源社区。同时,你可以通过编辑你的Gemfile来使用你的版本的 gem,方法如下:

gem 'md_simple_editor', github: 'lacostenycoder/md_simple_editor', branch: 'master'

当然,将lacostenycoder替换为你的Github用户名。


谢谢您的解释,这看起来确实是最好的方法。 - Joao Quaresma
@JoaoQuaresma 欢迎。当您提交拉取请求时,请使用功能分支来命名您的PR修复的功能,例如 bugfix/9-fix-turbo-links-rails-5,并从该分支打开PR。您可以将其合并到主分支的派生分支中,或者如果您喜欢,在Gemfile中使用您的功能分支。请参见 https://dev59.com/0nVC5IYBdhLWcg3wfxQ8 - lacostenycoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接