私はシンプルなブログアプリを持っています。すべての投稿が表示される私のインデックスページ。私がしたいのは、1 つのページに 1 つの投稿のみを表示し、次と前のリンクを表示することです。[次へ] をクリックすると、作成日に基づいて次の投稿に移動し、ブラウザの URL は実際のリンクである必要があります/problems/:id
。
提案の助けをいただければ幸いです。
ありがとう
私はシンプルなブログアプリを持っています。すべての投稿が表示される私のインデックスページ。私がしたいのは、1 つのページに 1 つの投稿のみを表示し、次と前のリンクを表示することです。[次へ] をクリックすると、作成日に基づいて次の投稿に移動し、ブラウザの URL は実際のリンクである必要があります/problems/:id
。
提案の助けをいただければ幸いです。
ありがとう
StackOverflowからの重複した回答別の質問
各タイトルが一意でアルファベット順が必要な場合は、投稿モデルでこれを試してください。
def previous_post
self.class.first(:conditions => ["title < ?", title], :order => "title desc")
end
def next_post
self.class.first(:conditions => ["title > ?", title], :order => "title asc")
end
次に、ビュー内のそれらにリンクできます。
<%= link_to("Previous Post", @post.previous_post) if @post.previous_post %>
<%= link_to("Next Post", @post.next_post) if @post.next_post %>
テストされていませんが、それはあなたを近づけるはずです。(created_at, id, etc.)
別の並べ替え順序が必要な場合は、タイトルを任意の一意の属性に変更できます。