我有一个rails创建操作,它在一个文件中发回一些jquery:

create.js.erb

var appearance = $("<%= escape_javascript(render(:partial => @appearance)) %>").effect("highlight", {color: '#E6ff00'}, 2000);
$("#sortable").append(appearance);
$("#new_appearance")[0].reset();

我已经开始使用HAML,想知道我应该如何转换它.我能用js吗.哈姆?

推荐答案

实际上,在HAML中返回JS非常简单,只需使用:plain过滤器,并将任何需要在#{}中计算的内容括起来即可.

:plain
  var appearance = $("#{escape_javascript(render(:partial => @appearance)}").effect("highlight", {color: '#E6ff00'}, 2000);
  $("#sortable").append(appearance);
  $("#new_appearance")[0].reset();

不要使用:javascript过滤器,因为它会将所有内容包含在一个不必要的标记中.

如果需要使用一些逻辑,只需将:plain放在嵌套中即可.

- if params[:printing]
  :plain
    $('#print-view').html("#{escape_javascript(render 'print_preview')}");

对不起,埃尔布.

Ruby-on-rails相关问答推荐

确定当前太平洋时区是PST还是PDT

使用ImportMaps将HighLightJS添加到rails 7.1

删除链接不起作用,重定向 echo 示 Ruby

带有块捕获的 FormBuilder 辅助方法在 ERB 中不起作用

为什么有时会出现类型错误没有将 StringIO 隐式转换为 String?Ruby /导轨

Rails - 如何从 http://example.com 重定向到 https://www.example.com

如何将实例变量传递给 RSpec 共享示例

如何在 Windows 中更新 ruby

为 ActionMailer 渲染不同的视图(模板)

回形针图片网址

从 Authlogic 迁移到 Devise

如何将 yaml 文件解析为 ruby​​ 哈希和/或数组?

Heroku 错误 R14(超出内存配额):我该如何解决?

什么是Ruby 用于 BESIDES 轨道?

Django 还是 Ruby-On-Rails?

如何测试自定义验证器?

ruby/ruby on rails 内存泄漏检测

如何跳过失败的迁移? (耙分贝:迁移)

停止 Rails 为视图和助手生成规范测试?

Ruby/Rails CSV 解析,UTF-8 中的无效字节序列