代码之家  ›  专栏  ›  技术社区  ›  flitzwald

轨道3中的模板路径

  •  1
  • flitzwald  · 技术社区  · 14 年前

    比如说,我接通了线路 / 到WelcomeController的索引操作。

    在index.html.erb-template内部,我想显示从rails.root向上的模板路径,即。

    <h1> We are rendering: <%= how_do_i_do_this? %></h1>
    

    渲染到

    <h1> We are rendering: app/views/presentation/index.html.erb</h1>  
    

    在Rails 2中我可以访问 template.path 但是这不管用了

    有什么想法吗?

    2 回复  |  直到 10 年前
        1
  •  0
  •   Ryan Bigg Andrés Bonilla    14 年前

    由于模板渲染在Rails中的工作方式,您现在可以使用uu file_uuu来代替它。这对我很有用:

    <%= __FILE__.gsub(Rails.root.to_s, "") %>
    

    不过,也许还有更好的办法,但我去看的时候找不到。

        2
  •  0
  •   Achilles    10 年前

    Ryan的回答有效。如果还想将方法放入帮助器中,请使用 Kernel#caller . 下面是我用来做类似事情的方法:

    def has_page_comment? code = nil
      if code.nil?
        # grab caller file, sanitize
        code = caller.first.split(':').first.gsub(Rails.root.to_s,'').gsub('.html.erb','')
      end
      ...
    end