Tag: refinerycms

在添加页面时,refinerycms不起作用

尝试使用refinerycms从仪表板添加新页面时出现此错误 SQLite3 :: ConstraintException:refinery_page_translations.refinery_page_id可能不为NULL:INSERT INTO“refinery_page_translations”(“created_at”,“custom_slug”,“locale”,“menu_title”,“refinery_page_id”,“slug”,“title”,“updated_at” )价值(?,?,?,?,?,?,?,?) 与下一个gemfile gem’轨道’,’3.2.14′ group:开发,:测试做gem’sqlite3’结束 group:资产做gem’sass-rails’,’〜> 3.2.3’gem’coffee-rails’,’〜> 3.2.1′ gem’uglifier’,’> = 1.0.3’结束 gem’jquery-rails’,’〜> 2.3.0′ gem’refinerycms’,’〜> 2.1.0′

从外部gem扩充模型

我在我们的网站上使用refinerycms让技术水平较低的员工更新内容。 在gem中,它们有一个Page类,用于映射站点上的每个顶级页面。 我想在这个Page类上使用acts_as_taggable gem。 现在我可以将acts_as_taggle声明直接添加到page.rb文件中,但是我必须维护一个单独的git repo来跟踪我的版本和官方发行版之间的差异。 基于SO的其他一些问题,我创建了一个初始化器和扩展器,如下所示: LIB / page_extensions.rb: module Pants module Extensions module Page module ClassMethods def add_taggable acts_as_taggable end end def self.included(base) base.extend(ClassMethods).add_taggable end end end end 配置/初始化/ pants.rb require ‘page_extensions’ Page.send :include, Pants::Extensions::Page 应用程序/视图/布局/ application.html.erb … Tags: 我第一次从服务器请求页面时,它正确输出页面上的所有标签。 但是,如果我点击刷新I而不是获得NoMethodError表明tag_list未定义。 我是rails的新手,所以也许我的假设是错误的,但我希望对Page.send的调用会对Page类进行永久性更改,而不是对类的特定实例进行永久性更改。 那么如何在每个请求中将acts_as_taggable添加到Page类?