如何根据所单击的特定链接渲染部分?

问题描述 投票:0回答:1

我在Rails应用程序中使用Ajax / jQuery渲染局部片段时遇到麻烦,我想知道我要去哪里出错了。

Rails 5.2.0

在我的“仪表盘”视图上,我试图根据单击的特定侧边栏链接项来渲染部分。

在我的views/users/my_dashboard.html.erb中:

<li class="sidenav__list-item">
    <%= link_to "Transaction History", transaction_path, :remote: true %>
</li>

我的部分_test.html.erb

<div>
  <p>It works if this shows</p>
</div>

以及我的views/users/my_dashboard.js.erb

$('#render-test').replaceWith("<%= j render 'users/partials_dashboard/test' %>");

在我的views/users/my_dashboard.html.erb中,当单击Transaction History链接时,我需要它来呈现其相应的部分:

// replace this div, with the rendered partial

<div id="render-test">
</div>

控制器users_controller.rb

def my_dashboard
    respond_to do |format|
      format.html
      format.js
    end
end

我想念什么?

jquery ruby-on-rails ruby ajax ruby-on-rails-5
1个回答
-1
投票

您无法使用Javascript生成红宝石,不会解释红宝石。如果您确实需要动态的东西,那么应该考虑创建一个API路由,然后使用Jquery调用此API


0
投票

尝试

$('#render-test').replaceWith("<%= j render partial: 'users/partials_dashboard/test' %>");
© www.soinside.com 2019 - 2024. All rights reserved.