【发布时间】:2016-01-15 11:49:23
【问题描述】:
我正在通过附加一些 Facebook 帖子来更新部分内容,这些帖子是使用 koala gem 获取的。这是我写的代码。这是饲料控制器:
# feed_controller.rb
def index
end
def fb_feed
@fb_feed = ..
respond_to do |format|
format.js {}
end
end
这是索引视图:
# index.html.haml
#feed-partial
:javascript
$(document).ready(function(){
$.ajax({ url: "/facebook_feed",
success: function(fb_feed){
console.log(fb_feed);
}});
});
Facebook js 文件:
:plain
$("#feed-partial").append("#{escape_javascript(render :partial =>'facebook', :locals => { :fb_feed => @fb_feed })}");
还有路线:
get 'facebook_feed' => 'feed#facebook_feed', :defaults => { :format => 'js' }
到目前为止,一切正常,但我希望在 ajax 成功中获取 JSON 对象,而不是字符串。为此我做了一些改变:
# feed_controller.rb
respond_to do |format|
format.js { render :json => @fb_feed }
end
# index.html.haml
...
$.ajax({ url: "/facebook_feed",
dataType: 'json',
...
现在我正在获取一个 JSON 对象,但部分没有更新。 为了呈现部分 JSON 对象,我缺少什么,或者我需要做什么? 谢谢!
【问题讨论】:
-
局部不渲染?还是部分渲染但不显示来自对象的数据?
-
你能显示浏览器控制台日志吗?我认为你错过了 facebook js 文件中 append 方法的单引号
-
Adrian Mann 只将一些纯文本放入部分中,似乎部分根本没有呈现。
-
@SergeyGorlanov 控制台实际上给了我 JSON 对象。
-
@dimmg 尝试删除
{ render :json => @fb_feed }u js 部分未渲染
标签: javascript ruby-on-rails json ajax facebook