Sac*_*cha 12 javascript ruby haml ruby-on-rails
这是我目前的代码:
:javascript
// do something
- if current_user.role? :client
:javascript
//do something else
Run Code Online (Sandbox Code Playgroud)
它显然不是很干净,因为我重复了:javascript haml过滤器.我想避免这种情况,但我不知道如何在HAML:javascript块中正确编写Ruby"if"语句.
我知道如何使用#{}插入变量,但是如何对整个if/for/etc执行相同的操作.声明?
我这样做:
if(#{params[:param_to_check_for].blank? ? "true" : "false"})
Run Code Online (Sandbox Code Playgroud)
在上述情况下,条件为
params[:param_to_check_for].blank?
。
它将 JavaScript 呈现为:if(false)
或if(true)
Nic*_*gan -3
这是非常正确的。
另一种选择是您可以将其放在.js.erb
部分中并从您的 haml 视图中渲染它。
然后你就可以做
// do something
<% if condition == true %>
// do something else
<% end %>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6671 次 |
最近记录: |