问题是1000字,但我基本上想要做的是建立一个机车CMS插件,我坚持基础。这不是一件好事。
我已按照此宝石的说明进行操作,因为它是我能找到的唯一参考资料: 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
根据宝石,我现在可以编辑CMS中的任何页面并添加以下液体代码:
{{ plugins.test_plugin.test }}
我希望输出是'测试',但它没有显示任何内容。它也不会显示任何错误,如'找不到插件'或类似的东西。
如果有人建议,我已经重新启动了本地服务器。
但是在这个过程中我哪里出错了 - 任何人都可以在这个问题上给我启发。
答案 0 :(得分:2)
首先,行
LocomotivePlugins::register_plugin(LocomotiveTestPlugin, "test_plugin")
不需要。这是来自旧版本的插件。至于你的问题,你有没有在你的网站上插入插件?您需要转到“设置”页面,有一个名为“插件”的折叠部分,其下方应该有一个带复选框的条目。确保选中该框。
如果条目没有显示,则插件未正确加载。确保在启动服务器时加载代码(在顶部添加打印文件)。