[英]Render html partial with js
我想用js response_to渲染HTML部分
這是我的控制器:
class SearchesController < ApplicationController def index @users = User.ransack(first_name_or_last_name_cont: params[:query]).result(distinct: true) @teams = Team.ransack(name_cont: params[:query]).result(distinct: true) respond_to do |format| format.js {} format.json {} @users = @users.limit(5) @teams = @teams.limit(5) end end end
這是我的index.js.erb:
$('<%= j render :partial => 'result_list' %>')
它有效,但是在我的搜索下拉列表中無法正確顯示html
我有這樣的事情:
$(' \\n\\nUsers\\n<\\/span>\\n\\n\\n<\\/i>\\n<\\/span>\\nCharlotte Marie<\\/span>\\n<\\/a>\\n\\n\\n<\\/i>\\n<\\/span>\\nMatrice .io<\\/span>\\n<\\/a>\\n\\n\\n\\"Maboukra\\"\\n<\\/span>\\nMichael Aboukrat<\\/span>\\n<\\/a>\\n\\n\\n<\\/i>\\n<\\/span>\\nConstance Albanel<\\/span>\\n<\\/a>\\n\\n\\n\\"Malberte\\"\\n<\\/span>\\nMatthieu
請讓我知道正確的js代碼
您將整個HTML部分直接渲染到$()標記中,這是不正確的。 請記住,Rails所做的是將Javascript加載到js.erb
文件中。
相反,您應該將其加載到另一個HTML元素中,例如:
<span id="container"></span>
然后,使其中的HTML成為要呈現的部分,因此在index.js.erb
,應編寫:
$('#container').html("<%= j render partial: 'result_list' %>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.