[英]When building a Rails Gem, how do I get Rails to include my gem's app/views/ in the ActionView paths that it loads when looking for view partials?
我正在建造一颗宝石。
你可以在这里看到我的超级简单 gem: https://github.com/jasonfb/xyz_gem
它只是一个 shell。
今天我想知道的是什么告诉Rails它应该加载我的Gem的视图,即加载partials时app/views/中的视图?
我有一个名为 XyzGemTest (不是 gem)的 rails 应用程序,它通过本地路径使用 gem 包括
我认为我只是在 HellosController 上进行渲染以进行演示。
该视图呈现:
this is in the app code
<%= render partial: 'hello_world' %>
请注意,我的部分hello_world
在我的 Gem 中——在 app/views/_hello_world.erb 中(尽管我也尝试将它移动到 app/views/xyz_gem/_hello_world.erb——见下文)
当我加载我的应用程序时,我收到了这个常见错误:
如您所见,这个空白的 Rails 6.0 应用程序正试图从 3 个地方加载视图文件:(1)我自己的应用程序的 app/views 文件夹(不是 gem)(2)actiontext(3)actionmailbox
我在这里要问的是我需要对我的 Gem 做些什么来制作它,以便 ActionView 将我的 gem 的 app/views/ 文件夹包含在它查找的路径“链”中?
我尝试了 app/views/_hello_world.erb 并将 _hello_world.erb 嵌套到一个名为 xyz_gem 的文件夹中,就像这样
欢迎您分叉和重构我上面的 Github 存储库。
加载路径?
application.rb 有一行config.autoload_paths
我认为您需要查看那里才能找到答案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.