这个问题说了 1000 个单词,但我基本上想做的是构建一个 Locomotive CMS 插件,而我只停留在基础知识上。这不是一件好事。
我已按照此 gem 的说明进行操作,因为它是我能找到的唯一参考资料: https ://github.com/colibri-software/locomotive_plugins
我已添加locomotive_plugins
到我的 gemfile 中。我制作了一个名为的文件locomotive_test_plugin.rb
并将其放在我的lib
文件夹中(我发现这是放置此文件的合乎逻辑的地方,因为它在 gem 说明中没有明确说明)。我确实将lib
文件夹添加config.autoload_paths
到application.rb
. 我有点希望它会起作用
locomotive_test_plugin.rb 看起来像
class LocomotiveTestPlugin
include Locomotive::Plugin
def initialize_plugin
# Custom initialization code
end
def to_liquid
{:test => "test"}
end
end
LocomotivePlugins::register_plugin(LocomotiveTestPlugin, "test_plugin")
事实证明它没有。我还定制了一个gem
名为locomotive_test_plugin
并安装了 gem 并将该 gem 添加到 Gemfile 中,例如:
source 'https://rubygems.org'
gem 'locomotive_cms', '~> 2.0.1', :require => 'locomotive/engine'
gem 'locomotive_plugins'
group :assets do
gem 'compass-rails', '~> 1.0.2'
gem 'sass-rails', '~> 3.2.4'
gem 'coffee-rails', '~> 3.2.2'
gem 'uglifier', '~> 1.2.4'
# If you run your engine on **Linux,** you also have to add the following gem
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
end
group :development do
gem 'unicorn'
end
group(:locomotive_plugins) do
gem 'locomotive_test_plugin'
end
根据 gem,我现在可以在 CMS 中编辑任何页面并添加以下液体代码:
{{ plugins.test_plugin.test }}
我希望输出是“测试”,但它什么也没显示。它也不会显示任何错误,例如“找不到插件”或类似的东西。
如果有人建议,我已经重新启动了本地服务器。
但是在这个过程中我哪里出错了 - 任何人都可以在这个问题上启发我。