javascript - 在 haml javascript block 中插入 ruby​​ if 语句

标签 javascript ruby-on-rails ruby haml

这是我目前拥有的代码:

:javascript
    // do something
- if current_user.role? :client
    :javascript
        //do something else

它显然不是很干净,因为我在重复 :javascript haml 过滤器。我想避免这种情况,但我不知道如何在 HAML :javascript block 中正确编写 Ruby“if”语句。

我知道如何用#{} 插入变量,但你如何对整个 if/for/etc 做同样的事情。声明?

最佳答案

我这样做:

if(#{params[:param_to_check_for].blank? ? "true" : "false"})

在上面的例子中,条件是 params[:param_to_check_for].blank?.

它将 JavaScript 呈现为:if(false)if(true)

关于javascript - 在 haml javascript block 中插入 ruby​​ if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11149154/

相关文章:

javascript - 如何在 reactjs 的 render 方法中使用三元运算符?

javascript - 是否可以在数组中存储一个值的数字和名称?

javascript - 将 latlng 写入计算机上的文件

ruby-on-rails - Devise 和 ActionMailer 混淆

ruby-on-rails - 如何格式化带有 <p> 标签的\r\n 字符串?

javascript - 如何自动播放没有声音的视频?

ruby-on-rails - 如何在子文件夹中使用不同的部分和布局?

Ruby 代码查找特定文件并重命名它,不起作用?

ruby-on-rails - 为什么 ary.each 会转储出一个对象的所有内容?

ruby-on-rails - 如何修复 Rails 中的 ActiveModel::ForbiddenAttributesError