我正在尝试在div
中显示来自rails服务器的响应。
ajax调用是这样的
$.get('/news/search?search=' + existingString, function(data) {
$("#results").html("");
console.log(data);
len=data.length;
$('#result').append('#{escape_javascript(render("newsdisplay") )}');
_newsdisplay.html.haml
- if @results
- @results.each do |anzen|
%li.clearfix.postMain.allnews
.wrapper
%li
.messaIcon
.icon
%img{:src => anzen.news_image.thumb.url}
.messaCon
.areaDay.clearfix
%p.messaTextCon
グループ名:
%span= anzen.news_name
搜索操作
def search
if params[:search].present?
@results = News.search(params[:search])
end
end
的routes.rb
get 'news/search', to: 'news#search', as: :newssearch
我正确地从服务器获得响应。但是页面没有变化。但是在控制台中显示带有渲染响应的整页。任何人都可以猜到这个问题
答案 0 :(得分:0)
第一个代码片段是普通的js,对吗?您无法呈现newsdisplay
内联JS,之前必须呈现HTML,因此您应该将search.js.erb作为仅呈现新闻显示视图的视图。
这个例子:
答案 1 :(得分:0)
试试这个
$('#result').append("<%= escape_javascript(render(:partial => 'newsdisplay') )");