【问题标题】:Rails 3 plugin - how to access app's model file in require statement?Rails 3 插件 - 如何在 require 语句中访问应用程序的模型文件?
【发布时间】:2012-07-12 04:12:02
【问题描述】:

我正在 Rails 3.2.6 中编写一个插件 - 我的插件应该修改我的用户模型(位于 app/models/user.rb 中) - 但是,我找不到从插件中引用该文件的正确方法在 require 语句中。

我尝试了require 'user'require 'app/models/user' 和一堆尝试使用 Rails.root 和其他变量的东西 - 没有任何效果,并且在尝试运行应用程序时收到错误“未初始化的常量用户”。

有人可以指出我正确的方向吗?顺便说一句,这个插件是作为 gem 构建的,并且包含在我的 Gemfile 中(从 gi​​thub 中提取)。

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-plugins


    【解决方案1】:

    如果你使用的是 ruby​​ 1.9,你应该可以使用 require_relative

    #assuming /lib/yourfile.rb
    require_relative '../app/models/user.rb'
    

    如果您使用的是较旧的红宝石,您可以尝试

    require File.dirname(__FILE__) + '../app/models/user.rb'
    

    【讨论】:

    • 在我的情况下不起作用,但我认为插件还有其他问题。用一个快速的测试用例尝试了这个,它工作正常,所以我投票给这个答案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2020-05-31
    • 2010-11-04
    • 1970-01-01
    相关资源
    最近更新 更多