情況:當前有一個評論模型,在微博下進行分頁。我正在嘗試使下一個按鈕呈現屬於微博的評論。渲染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