多租户Rails应用集成Comfy CMS执行迁移出现路由参数错误
错误原因
你使用的Comfy CMS 2.0.x版本的comfy_route辅助方法在加载cms_admin路由时不支持额外传参,你配置中comfy_route :cms_admin, path: "/admin"传入的第二个path参数是多余的,因此触发参数数量不匹配的报错。
解决步骤
- 直接删除
comfy_route :cms_admin后的path参数即可,2.0.x版本Comfy CMS默认的后台路由路径就是/admin,无需额外配置:
# routes.rb中调整为 comfy_route :cms_admin
- 如果你需要自定义后台访问路径,不要在路由配置中传参,而是修改Comfy CMS初始化配置:找到
config/initializers/comfortable_mexican_sofa.rb,修改config.admin_route_prefix配置项:
# 示例:将后台路径改为 /cms-admin ComfortableMexicanSofa.configure do |config| config.admin_route_prefix = 'cms-admin' # 其他原有配置保持不变 end
- 多租户适配补充:由于你使用Apartment实现多租户,需要将Comfy CMS生成的所有业务表加入Apartment的租户表配置,避免CMS数据存储到公共schema导致租户无法访问,示例配置:
# config/initializers/apartment.rb Apartment.configure do |config| # 原有配置保持不变 config.tenant_tables += %w[ comfy_cms_sites comfy_cms_layouts comfy_cms_pages comfy_cms_snippets comfy_cms_files comfy_cms_categories comfy_cms_revisions ] end
内容的提问来源于stack exchange,提问作者tiloman
相关产品推荐
相关产品推荐

