【问题标题】:Ruby on Rails: How to Render Partial in a view via JqueryRuby on Rails:如何通过 Jquery 在视图中渲染部分
【发布时间】:2015-07-13 08:37:08
【问题描述】:

我有一个“项目”表单作为部分表单。当用户单击按钮时,我正在尝试使用 jquery 呈现部分:

$('.projects').append("<%= render partial: 'projects/project') %>").html_safe

但是使用上面的代码实际上是在页面上渲染“”而不是实际的部分。

【问题讨论】:

  • 我认为您的 javascript 文件中没有 erb 扩展名,如果将其从 file.js 重命名为 file.js.erb
  • 这个文件的名字是什么?因为它看起来像 js,但你添加了 .html_safe,它是 ruby​​,你说的是部分形式,所以 idk。

标签: javascript jquery ruby-on-rails ruby partial


【解决方案1】:

试试这个:

$('#projects').html('<%= escape_javascript render 'projects/project' %>');

注意:正如Bernie Chiu 所建议的,您需要将文件扩展名从xxx.js 更改为xxx.js.erb

【讨论】:

    【解决方案2】:

    我相信将您的文件扩展名从 xxx.js 重命名为 xxx.js.erb 可能会解决您的问题。

    【讨论】:

    • 我认为伯尼是正确的。如果文件以 erb 结尾,那么 rails 将渲染视图。如果不是,那么它只是将其视为任何其他静态文件。
    【解决方案3】:

    试试:

    $('.projects').append("<%= j render partial: 'projects/project') %>");
    

    jescape_javascript 的别名。

    请参阅escape_javascript helper 的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 2017-05-07
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多