2012-09-18 37 views
1

我怎么能叫偏从Ajax功能,我需要使我的home.html.erb里面的部分内容,这里的代码:呼叫从AJAX URL Rails的部分

<div class="span8"> 
    <h3>Micropost Feed</h3> 
    <div class="posts"> 
     <%= render 'feed' %> 
    </div> 
</div> 

在底部我有一个剧本,这个问题的代码是在这些线路:

if(nearBottomOfPage()) { 
    loading=true; 
    page++; 
    $.ajax({ // send an ajax-request to load the next page 
    url: '/feed?page=' + page, 
    type: 'get', 
    dataType: 'script', 
    success: function() { // after successfully completing the ajax-request redraw the sausage-navigation. 
     $(window).sausage('draw'); 
     loading=false; 
    } 
    }); 

的“URL”参数是我不知道写什么叫部分,这部分是调用_feed .html.erb和这是一样的˚F内年长Home.html.erb的,finaly在我的控制器行动我有这样的:

def home 
    if signed_in? 
    @post = current_user.posts.build 
    @feed_items = current_user.feed.order(:created_at).page(params[:page]) 
    end 
    respond_to do |format| 
     format.js { render :partial => 'feed'} 
     format.html # index.html.erb 
     format.xml { render :xml => @feed_items } 
    end 
end 

我如何可以调用从阿贾克斯功能部分?

非常感谢。

回答

2

你不能通过URL直接调用部分。只有页/中/公共目录视图可以直接访问。

您需要创建一个控制器动作,呈现'feed'部分和相应的路线。然后使用路径为您的AJAX网址这条路线。

+0

然后我有feed.html.erb需要的内容,我如何通过escape_javascript(????)来渲染它:s –