定位布局文件夹外的布局

时间:2014-04-11 06:27:43

标签: ruby-on-rails ruby ruby-on-rails-4 spree

TL; DR版本:有没有办法使用views/spree/layout方法定位layout嵌套的布​​局?

您好。我正在使用水银编辑器,问题在于在视图/布局文件夹之外定位布局。 我的控制器就像现在这样:

class HomepagesController < Spree::BaseController

  layout :layout_with_mercury

  def show
     @page = Spree::Homepage.first
  end

  private

  def layout_with_mercury
    # this should be pointed to spree/layout/spree_application but ...nope
    !params[:mercury_frame] && is_editing? ? 'mercury' : 'application'
  end

  def is_editing?
    flash[:editing] == 'true'
  end

end

我正在使用spree,这意味着布局位于views/spree/layout/layout.html.erb。 layout_with_mercury返回mercuryapplication,然后在布局文件夹中查找名称中返回字符串的布局。我的问题是:有没有办法将目标布局嵌套在views/spree/layout

2 个答案:

答案 0 :(得分:-1)

是的,你可以试试这个

layout '../spree/layout/layout_name.html.erb' 

它实际上是相对路径所以

答案 1 :(得分:-1)

布局“狂欢/布局/布局”问题解决了。您希望使用相对于views目录的绝对路径,而不是相对路径。