情况:当前有一个评论模型,在微博下进行分页。我正在尝试使下一个按钮呈现属于微博的评论。渲染Ajax/Rails问题
问题:我不确定如何去制作路径/动作序通过把这些意见。
代码:我有一些代码,我会在下面提供,如果有什么不对,请协助。
所有的帮助都很赞赏。
用户控制器
def show
@user = User.find(params[:id])
@micropost = Micropost.new
@comment = Comment.new
@comment = @micropost.comments.build(params[:comment])
@microposts = @user.microposts.order('created_at DESC').paginate(:per_page => 10, :page => params[:page])
end
分页JS
$("#CommentPagin").on('click', 'a', function(e){
// Get data from server - make sure url has params for per_page and page.
$.get($(this).attr('href'), function(data){
// refresh client with data
$("#cc").append(data);
});
});
注释部分
<div id='comments'>
<% comments = micropost.comments.paginate(:per_page => 5, :page => params[:page]) %>
<div id="CommentPagin">
<span class="CommentArrowIcon"></span>
<%= will_paginate comments, :page_links => false , :class =>"pagination" %>
</div>
<%= render 'users/comments' %>
</div>
评论呈现部分
<div id="cc">
<% comments = micropost.comments.paginate(:per_page => 5, :page => params[:page]) %>
<%= render comments %>
</div>
UPDATE
用户模型
class User < ActiveRecord::Base
has_many :microposts
has_many :comments
end
型号微柱
class Micropost < ActiveRecord::Base
belongs_to :user
has_many :comments
accepts_nested_attributes_for :comments
end
评论模型
class Comment < ActiveRecord::Base
attr_accessible :content, :user_id, :micropost_id
belongs_to :micropost, :counter_cache => true
belongs_to :user
belongs_to :school
end
的routes.rb
kit::Application.routes.draw do
resources :pages
resources :application
resources :schools
resources :microposts
resources :comments
resources :users
resources :sessions
resources :password_resets
resources :relationships, only: [:create, :destroy]
resources :users do
member do
get :following, :followers
end
end
resources :microposts do
member do
post :vote_up, :unvote
end
end
resources :microposts do
member do
post :upview
end
end
resources :microposts do
resources :comments
end
resources :schools do
collection do
get :mostrecent
get :mostdiscussed
get :highestrated
get :viewcount
end
end
match "https://stackoverflow.com/users/:id/personalstream" => "users#personalstream"
match "/schools/:id/mostrecent" => "schools#mostrecent"
match "/schools/:id/mostdiscussed" => "schools#mostdiscussed"
match "/schools/:id/viewcount" => "schools#viewcount"
match "/schools/:id/highestrated" => "schools#highestrated"
match "/schools/:id", :to => 'schools#show', :as => "school"
match "/microposts/:id/comments" => "microposts#comments"
match "/microposts/:id/upview" => "microposts#upview"
match "/microposts/:id/vote_up" => "microposts#vote_up"
match "/microposts/:id/unvote" => "microposts#unvote"
get "log_out" => "sessions#destroy", :as => "log_out"
get "sign_in" => "sessions#new", :as => "sign_in"
get "sign_up" => "users#new", :as => "sign_up"
get "home" => "users#home", :as => "home"
root to: "schools#index"
end
你在用户控制器中做什么?你正在设置@评论3次......为什么/用户,评论和学校如何共享相同的ID?我没有得到你想要做的... – klump 2012-03-07 19:02:30
@klump我更新控制器抱歉,我想做的是让分页JS通过路由/动作渲染出用户显示页面上的评论,但我不确定如何去做这个,对不起 – Kellogs 2012-03-07 20:21:58
所以当用户点击与它的“CommentPagin”div你想显示评论?一次全部? – klump 2012-03-07 20:27:47