【问题标题】:HAML Javascript Rails if conditionsHAML Javascript Rails if 条件
【发布时间】:2013-12-12 11:42:38
【问题描述】:

有没有办法在 Rails 中使用 HAML 实现 :javascript 过滤器中的 if 语句?

我尝试了各种方法,例如

:javascript
  $(function(){
  - if @booth.greeting_video?
    = $('#greeting_video').modal();

但它们似乎根本不起作用。

有没有一种干净的方法来实现这个?

【问题讨论】:

    标签: javascript ruby-on-rails ruby haml


    【解决方案1】:

    HAML 中的过滤器与其他代码分开处理,这里唯一允许的是 #{} 方法,它只是插入一个 Ruby 值。

    理论上你可以在那里插入你的条件,并根据它返回不同的值。而且我猜不出你想用 = $('#greeting_video').modal(); 做什么 - 它看起来像 javascript,但为什么前面有 = 符号,让它看起来像红宝石插入?

    而且,还需要说的是,将后端和前端混为一谈并不是一个好主意。 js 变量可以在这里设置,并且在另一个文件的某个地方,模态是否会被渲染,这取决于该变量(只是另一种方式建议)

    【讨论】:

    • 谢谢。那么,您将如何实现 JavaScript 行的 if 条件?当然,您不能为包含一两行 javascripts 的每个条件插入外部 javascript 链接。
    • 我在想的只是把 #{'$('#greeting_video').modal();' if @booth.greeting_video?} 放在那里,因为它是纯文本
    猜你喜欢
    • 2013-12-14
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    相关资源
    最近更新 更多