ruby代码显示为文本,而不是在js.erb文件中执行
ruby code being displayed as text rather than executing in js.erb file
我正在尝试使用AJAX调用查找和替换一些html代码。
js.erb文件中的以下代码成功执行并显示了名为"edit unit"的部分视图,该视图具有资源"@units[0]"。
$("#edit_unit").replaceWith( "<%= escape_javascript(sync partial: 'edit_unit', resource: @units[0]) %>" );
然而,当我试图完成同样的事情,但在rails控制器中定义了一个字符串并将其传递到我的.js.erb文件时,它不能正确执行,即
在我的轨道控制器中:
@string = "sync partial: 'edit_unit', resource: @units[0]"
在我的.js.erb文件中:
$("#edit_unit").replaceWith( "<%= escape_javascript(@string) %>" );
当我这样做时,字符串在页面上显示为文本,而不是执行和显示部分视图。
为什么会发生这种情况?
更新:
Eval似乎成功地执行了字符串。然而,当我循环处理多个字符串时,它似乎不起作用。
$("#edit_delivery_unit_div").replaceWith(
<% @array.each do |string| %>
'<%= escape_javascript(eval(string)) %>'
<% end %>
)
这不会返回任何错误,但也不会显示局部视图。有什么想法吗?
字符串无法执行,可以使用eval
来实现,试试
$("#edit_unit").replaceWith( "<%= escape_javascript(eval(@string)) %>" );
但是,当您完全访问系统
相关文章:
- Rails 3.2 js.erb文件转义js
- Js.erb VS按钮标记-不'不起作用.为什么?
- js.erb文件未呈现其内容
- 如何使用 Ruby 在 Javascript (js.erb) 中设置 url
- Rails:如何在jQuery(.js.erb)中调用“create”操作
- js erb 内的 Rails 会话为空
- 在Rails中使用remote:true在Chrome中有效,但在Safari中无效——从js.erb文件调用succe
- js.erb文件中提供给RegExp构造函数的标志无效
- 如何在我的create.js.erb中重置/清除表单
- Rails js.erb文件未执行
- js.erb格式的控制器测试
- 使用控制器在conditional.js.erb文件中设置变量
- 我的 update.js.erb 文件仅在第一次单击按钮时运行,而不在后续单击时运行(单击时更改按钮的类和值)
- 在 Ajax 中创建 RoR 链接 在 .js.erb 文件中调用
- Rails 3 嵌入式小部件:show.js.erb 似乎不起作用
- js.erb 呈现到布局中,而不是执行
- 将变量传递给 js.erb 文件
- Ruby on Rails 在 js.erb 中渲染 json
- 如何在 js.erb 中删除 “ 以渲染 JavaScript Rails
- 如何在 Rails 3 上从 js.erb 调用 coffeescript 函数以及如何理解 Javascript 中的