【问题标题】:Is it possible to find the full view path of a model in Rails?是否可以在 Rails 中找到模型的完整视图路径?
【发布时间】:2014-03-16 05:36:43
【问题描述】:

例如,

@foo = Foo.new
@foo.to_partial_path #=> '/foos/foo'

有什么方法可以用来查找文件的完整路径吗?

@foo = Foo.new
@foo.something #=> 'app/views/foos/_foo.html.erb'

我可以从部分路径中推断出它,但问题是并非我的所有模型都在我的主要 Rails 应用程序中。有些在 Rails 引擎中,因此它们的视图路径将类似于 'engines/myengine/app/views/...'to_partial_path 没有反映这一点。

当我从控制器渲染时,Rails 渲染视图没有问题。如何找出它用于确定路径的内容?

【问题讨论】:

    标签: ruby-on-rails actionview


    【解决方案1】:

    在模型中:

    def self.Ping
      puts "#{__FILE__}"
    end
    

    UP1:Rails 解析路径的地方:

    https://github.com/rails/rails/blob/c19958015fac7b50f8dedbdf17991c00d6b8bbd4/actionview/lib/action_view/view_paths.rb


    UP2: 当我从控制器渲染时,Rails 渲染视图没有问题。如何找出它用于确定路径的内容?

    Why need you doing that?
    

    【讨论】:

    • 不能使用__FILE__ 很遗憾,因为我会将方法存储在父类中,所以__FILE__ 将返回父类的路径而不是实际模型。谢谢,我会查看视图路径。至于为什么……有关系吗?
    猜你喜欢
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 2020-08-14
    • 2021-06-14
    相关资源
    最近更新 更多