Tôi hiện có mô hình nhận xét bài đăng dưới micropost và cả hai được hiển thị trên cùng một trang. Vấn đề là cả hai được hiển thị trên cùng một trang và cả hai được phân trang và tôi đang cố gắng để đi cho phương pháp tiếp cận facebook để microposting. Đây là vấn đề bên dưới:Vấn đề với will_paginate liên kết trang
Các liên kết cho cả hai lần chuyển trang sẽ chuyển thành số này href="https://stackoverflow.com/users/2?page=2"
thay vì href="https://stackoverflow.com/users/2/micropost?page=2"
hoặc href="https://stackoverflow.com/users/2/comment?page=2"
. Tôi không chắc chắn cách giải quyết vấn đề này. Đây là một số mã của tôi. Tất cả các đề xuất đều được đánh giá cao!
Micropost Render HTML
<table class="microposts">
<% if microposts.any? %>
<%= render microposts %>
<%= will_paginate microposts, :page_links => false %>
<% else %>
<div class="EmptyContainer"><span class='Empty'>Add a thread!</span></div>
<% end %>
</table>
Mục Comment HTML
<div id='CommentContainer-<%= micropost.id%>' class='CommentContainer Condensed2'>
<div class='Comment'>
<%= render :partial => "comments/form", :locals => { :micropost => micropost } %>
</div>
<div id='comments'>
<% comments = micropost.comments.paginate(:per_page => 5, :page => params[:page]) %>
<%= render comments %>
<%= will_paginate comments, :class =>"pagination" %>
</div>
</div>
điều khiển tài khoản cho Hiển thị Trang
def show
@user = User.find(params[:id])
@comment = Comment.find(params[:id])
@micropost = Micropost.new
@comment = Comment.new
@comment = @micropost.comments.build(params[:comment])
@comments = @micropost.comments.paginate(:page => params[:page], :per_page => 5)
@microposts = @user.microposts.order('created_at DESC').paginate(:per_page => 10, :page => params[:page])
respond_to do |format|
format.html
format.js
end
end
Tôi giả định cho 'bộ sưu tập' tôi thay thế bằng bất kỳ thứ gì cần được phân trang? Nguyên nhân nếu không, tôi nhận được lỗi không xác định – Kellogs
cũng làm cách nào để thêm id của người dùng vào base_link_url? Vì hai liên kết này không hoạt động ': base_link_url =>"/users/<%= user.id%> ",' ': base_link_url =>"/người dùng /: id ",' – Kellogs
Có, thay thế 'bộ sưu tập' bằng bất kỳ biến nào khác đang nắm giữ mục được phân trang. Khi sử dụng: tùy chọn base_link_url - không chuyển chuỗi với một số trình giữ chỗ như bạn làm trong routes.rb - chỉ cần chuyển kết quả của phương thức trợ giúp url. Ví dụ: nếu bạn có một tuyến đường được đặt tên là "user_micropost" được chuyển sang (ví dụ) '/ user/2/micropost' thì' user_micropost_path (: id => 2) 'sẽ là tùy chọn bạn cần chuyển thành': base_link_url '. Tất cả các liên kết được hiển thị sau đó sẽ nhận được url như:/user/2/micropost? Page = 1/user/2/micropost? Page = 2 và cứ tiếp tục như vậy. – WTK