【问题标题】:rails 5 full engine name same as model namerails 5 完整的引擎名称与型号名称相同
【发布时间】:2016-03-29 16:24:26
【问题描述】:

我正在使用 Rails 5。我添加了自己的带有 --full 设置的 Rails 引擎。

rails plugin new wallet --full

我已经在我的根 Gemfile 中添加了这个:

gem 'wallet', path: 'engines/wallet'

我的引擎名称叫做钱包。

在我的引擎中,我添加了一个名为 Wallet 的模型。当我尝试在视图中或从控制台访问钱包模型时,它显示为字符串类型“钱包”

这是它应该如何工作的吗?如果我想从根应用程序访问模块“钱包”怎么办?我不确定有什么方法可以解决这个问题。

【问题讨论】:

  • 你要覆盖wallet gem的模块吗?
  • 嗨,不,我的意图是调用模型钱包,但它似乎返回字符串而不是类钱包
  • 你如何称呼模型?你能告诉我们代码库吗?
  • 在视图模板内:Wallet.model_name.human(Wallet.model_name 已经失败)

标签: ruby-on-rails ruby-on-rails-5


【解决方案1】:

我还没有找到更好的解决方案。但根据我的经验,就像 spree gem 一样,他们正在做 --full--mountable gem。我的解决方案是使用前缀 engine_ 重命名引擎,以避免与引擎名称具有相同的模型名称。

我希望有人有更好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 2021-02-13
    • 2013-11-29
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    相关资源
    最近更新 更多