0

前の投稿と次の投稿へのリンクを作成しようとしています。私が使用していない理由はwill_paginate、「前へ」というテキストではなく、投稿のタイトル(つまり、post.title)として使用したいからです。

これを行うために、私は別の答えに従い、投稿モデルに次の関係を作成しました。

  def previous
    Post.where(["id < ?", id].last)
  end

  def next
    Post.where(["id < ?", id].first)
  end

これは私が私の_posts部分的に持っているものです。HTMLは風変わりなスタイルであり、railslink_toタグに画像とスパンを含める方法がわからないため、現在HTMLを保持しています。

             <% if post.previous %>
            <a href="#" class="action-left">
              <img src="img/arrow_red_right.png">
              <span><%= post.previous.title %></span>
            </a>
            <% end %>

エラーが発生します:

undefined method `title' for #<ActiveRecord::Relation:0x007f8145616250>

ポストモデルで前に定義した方法と関係があると思います。感謝します!


メソッドの括弧を修正する必要があります:)

def previous
  Post.where("id < ?", id).last
end

def next
  Post.where("id > ?", id).first
end
4

1 に答える 1

4

メソッドの括弧を修正する必要があります:)

def previous
  Post.where("id < ?", id).last
end

def next
  Post.where("id > ?", id).first
end
于 2013-03-14T03:51:30.910 に答える