私はRails 4ブログのacts_as_taggable宝石に苦労しています。誰かが私を正しい方向に向けてくれることを願っています。各投稿のショービュー内に、私は現在タグを表示しています。しかし、タグの下に、私は同じタグを使って投稿のプレビューを表示したい( "XYZについてもっと読む記事を読む:")。ここでは動作しません。これは、私が持っているコードです:Acts_as_taggable gem:各投稿のショーページに同じタグの投稿のサムネイルを表示するにはどうすればいいですか?
tags_controller.rb:
def index
@tags = ActsAsTaggableOn::Tag.all
@posts = Post.tagged_with(@tag.name)
@related_posts = Post.tagged_with(@tag, :on => :tags)
end
posts_controller.rb:
def index
if params[:tag]
@posts = Post.tagged_with(params[:tag])
else
@posts = Post.all
end
.
.
.
end
ビュー/記事/ show.html .erb
<%= image_tag @post.image.url(:large) %>
<%= @post.title %>
<%= @post.subtitle %>
<%= @post.body.html_safe %>
<h3>Read more posts about: <%= render @post.tags %></h3>
<!-- This is where I want to display related posts: -->
<%= render 'tags/related' %>
の
ビュー/タグ/ _related.html.erb
<% @posts.each do |post| %>
<%= link_to image_tag(post.image.url(:small)), post%>
<%= link_to post.title, post %>
<% end %>
ALL記事は部分_related.html.erb内インデックスが作成されているので、これは間違っている - 同じタグを持つだけではなく投稿その単数のポストのショービュー内に表示されます。私は@postsをPost.tagged_with(@ tag.name)としてタグコントローラに定義していたので、これはうまくいくと思った。
は、この詳細かつ有用な応答をありがとうございました。私は2つの質問があります:1)私はhas_manyが必要ですか:ポストモデルの関連記事ですか? 2)投稿したモデルに投稿したpost.rbコードを配置しました。何らかの理由で、私は分かりません、私はポストショーページを読み込むときに "未定義のメソッド' related_posts '"エラーが発生しています。私が間違っているかもしれない何かアイデア?あなたの時間をもう一度ありがとう。 – Noob005
1)いいえ、あなたは間違いなくhas_many関係の投稿を必要としません。 'related_posts'はメソッドであり、関係ではありません。 2)レールコンソール( 'rails c')を開き、' post = Post.first'でポストを読み込み、 'post.related_posts'と入力します。 –
ありがとう。 "NoMethodError:未定義のメソッド' postss for# " –
Noob005