【问题标题】:Proper syntax for including a ruby variable in an Ajax call inside a SLIM view在 SLIM 视图内的 Ajax 调用中包含 ruby​​ 变量的正确语法
【发布时间】:2019-10-31 15:33:02
【问题描述】:
Rails
Ajax
SLIM

我想为我的 Rails 视图使用 SLIM,但我不知道在 Ajax 调用中使用 Ruby 变量的语法。

如果我的视图有 html.erb 扩展名,我可以在其中添加如下内容:

<script>
  $('#MyDivId').replaceWith({
    ajax: '/users_activities?email=<%= @user.email%>'
  });
</script>

但是,如果这是一个 .html.slim 视图,如果我这样做:

javascript:
  $('#MyDivId').replaceWith({
    ajax: '/users_activities?email=<%= @user.email%>'
  });

我会收到一条错误消息。知道在 SLIM 中执行此操作的正确语法是什么吗?

【问题讨论】:

    标签: ruby-on-rails ajax slim-lang


    【解决方案1】:

    使用这个:

    '/users_activities?email=#{@user.email}'
    

    【讨论】:

    • 字符串插值是否适用于 slim 中的单引号?那会令人惊讶,但我不使用 slim 也不知道。
    • 我会测试确认
    • @jvillian 对不起,我还想澄清一下,它不适用于单引号,它需要双引号
    • 这不是 ruby​​ 字符串插值,我的示例中的字符串不是 ruby​​ 字符串,它是 javascript 字符串,#{ } 中的代码由模板处理器评估。它甚至不必在 javascript 字符串中(如果您在 ruby​​ 变量中有一个整数,您可以使用 let jsVar = #{rubyVar}; 并且它可以工作)。
    • rdoc.info/gems/slim/frames#Text_interpolation(不管#{ }是否在字符串中)
    猜你喜欢
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多