使用HAML禁用特定Rails页面中的turbolink

时间:2014-08-18 11:02:47

标签: ruby-on-rails haml turbolinks

我在应用的特定页面中遇到问题,在禁用turbolink时修复了该问题。我知道添加data-no-turbolink作为正文属性可以解决这个问题,但我不想在任何地方禁用turbolink。

所以,最好的解决方案是在具有问题的特定视图中使用类似content_for的内容(我正在使用HAML):

- content_for :body, "data-no-turbolink"

但它不起作用(页面加载了内容,没有错误但是body标签中没有data-no-turbolink,问题仍然存在。)

我也试过这个,没有成功:

application.html.haml:
    %body{ yield(:body_attr) if content_for?(:body_attr) }

my_view.html.haml:
    - content_for :body_attr, "data-no-turbolink"

如何从视图中向<body>添加属性?感谢。

2 个答案:

答案 0 :(得分:4)

解决htaidirt问题有点晚了,但是对于其他任何正在努力的人我已经解决了这个问题并解决了以下问题。

布局

%body{ no_turbolink? }

辅助

  def no_turbolink?
    if content_for(:no_turbolink)
      { data: {no_turbolink: true} }
    else
      { data: nil }
    end
  end

查看

content_for :no_turbolink, true

希望这有帮助, 克里斯。

答案 1 :(得分:1)

<%= content_for :body_attr, data: { no_turbolink: true } %>。或者尝试将此属性添加到外部块。