javascript - Ruby on Rails,使用 jquery 渲染部分只是显示文本

标签 javascript jquery ruby-on-rails ruby

我正在使用以下 jQuery 在单击按钮时呈现部分内容

$(document).ready(function() {
  $(".service-type").click(function(e) {
    e.preventDefault();
    $('#details').html("<%= escape_javascript( render(:partial => 'my_partial',
        :locals => { f: f })) %>");
  });
});

但它并没有显示部分内容,而是将以下内容插入到我的页面中

<%= escape_javascript( render(:partial => "my_partial", :locals => { f: f })) %>

有什么地方出错了吗?

最佳答案

The JS is in assets/javascripts/tasks.js

您需要将 javascript 移动到定义表单的任何文件中。您可以通过添加 .erb 扩展名使您的文件评估嵌入式 Ruby,但这无济于事,因为表单构建器 (f) 不存在在此请求的上下文中。

你应该将那段 JavaScript 直接移动到你的 View 中,可能在你的 form_for block 中,以便它可以访问变量 f,假设 f 是一个 FormBuilder

关于javascript - Ruby on Rails,使用 jquery 渲染部分只是显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073885/

相关文章:

ruby-on-rails - View 中带有空格的 Rails 字符串

javascript - 仅使用部分 jQuery Mobile

javascript - 初始化物化函数

javascript - 使用顺序回调自动加载 javascript 文件

jquery - 使用回退异步加载 jquery 核心

ruby-on-rails - Ruby:如何解析字符串 '3 days ago'?

javascript - 请解释一下如何使这个高阶函数起作用

javascript - 如何使用 ReactJS 调用函数内的方法(单击 a href 以注销)

php - POST 500 内部服务器错误 - PHP

ios - 发起 Twilio 调用后如何在 iOS 中取消它?