【问题标题】:Use model of diiferent name in a different controller在不同的控制器中使用不同名称的模型
【发布时间】:2015-07-19 15:25:22
【问题描述】:

我有一个控制器 FormsController 和一个 Active Model ApplicationForm。我通过包含include ActiveModel::Validationsinclude ActiveModel::Conversionextend ActiveModel::Naming 制作了这个模型。当我使用@form=ApplicationForm 时,我得到NameError uninitialized constant FormsController::ApplicationForm。我该如何解决这个问题,我只想将此模型用作可以提供对象以临时保存表单值以供进一步处理的类。

【问题讨论】:

    标签: ruby-on-rails forms ruby-on-rails-3 activemodel


    【解决方案1】:

    这是从目录中使用它的方法。假设它位于 app/forms 目录中,并且您已将表单正确添加到 rails 的自动加载路径。

    @form = ::Forms::ApplicationForm.new(your_params)
    

    你的模块必须这样命名

    module Forms
      class ApplicationForm
        #your form code
      end
    end
    

    【讨论】:

    • 谢谢!但是如果我将模型文件保存在其他目录中,我该如何使用它?
    • 你将不得不改变一些事情。我会更新答案,让你得到你所需要的。
    猜你喜欢
    • 2013-03-24
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多