2012-02-09 33 views
0

我在我的評論中有一個參數,名爲total_votes(由整數組成)。 這是我如何通過最投票訂單評論和應用將在同一時間分頁:爲will_paginate + order_by參數創建link_to動作(Rails)

show.rb:

def show 
    @post = Post.find(params[:id]) 
    @comments = @post.comments.paginate(:page => params[:page], 
             :per_page => 5).order('total_votes DESC, 
                   created_at DESC') 
    end 

show.html.erb:

<% @comments.map do |comment| %> 
    <div class="comment-<%= comment.id %>"> 
    <p> 
    <b>Comment:</b> 
    <%= comment.content %> 
    </p> 
    <p> 
    <b>Vote:</b> 
    <span class="vote-count"><%= comment.total_votes %></span> 

    <div class='voted-user'> 
     <% comment.votes.each do |vote| %> 
     <%= link_to vote.user.username, vote.user %> 
     <% end %> 
    </div> 
    </p> 
    <p> 
    <b>Commenter</b> 
    <%= link_to comment.user.username, comment.user %> 
    </p> 
    <p> 
    <b>Link</b> 
    <%= link_to "Show Post Comment", [@post, comment] %> 
    </p> 
    <p> 
    <b>Vote</b> 
    <%= link_to "Vote Up", vote_up_path(comment, :votable_type => "Comment"), :remote => true, :class => "vote-up" %><br /> 
    </p> 
    </div> 
<% end %> 

<%= will_paginate @comments %> 

我想創建一個link_to行動,這樣我可以操縱這個部分:

@comments = @post.comments.paginate(:page => params[:page], 
            :per_page => 5).order('THIS_PART') 

所以,我可以存檔是這樣的:?

的mysite /職位/ 93 ORDER_BY =票

和或本(ORDER_BY + will_paginate):

mysite/posts/93?order_by = votes & page = 2

或類似的東西。

關於如何在控制器和視圖中完成代碼的任何建議(請讓我知道這是不是最好的方式)?

回答

1

編輯:

Railscasts是你想要的!

+0

謝謝,但我也需要如何在控制器和視圖中編碼。 – alexchenco 2012-02-09 13:19:35