質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

1650閲覧

【Rails】acts_as_taggable_onを用いたtags /show.html.erbの作成

yuta_tokyo

総合スコア35

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/03/12 05:45

編集2017/03/12 07:19

acts_as_taggable_onを用いてpostに紐づいたタグ機能を実装しています。

そこで、一つ質問です。
acts_as_taggable_onで生成したtagsのshow.html.erb(例:../tags/タグ1)に該当タグ(ここではタグ1)と紐づいているpostへのテキストリンクを作成することは可能でしょうか?

tagsの一覧を表示することまではできた(tagsのindexページ)のですが、show.html.erbページに紐づいているpostテキストリンクを生成することができません。

postとtagで親子関係を作らないといけないのでしょうか?

以下は該当コードです。

ご教授ください。

tags_controller.rb

def show #@tag = ActsAsTaggableOn::Tag.find(params[:id]) @tag=ActsAsTaggableOn::Tag.find_by(name: params[:name]) @posts = Post.tagged_with(@tag.name) end

tags show.html.erb

<h1><%= @tag.name %></h1><%= link_to "タグ一覧",tags_path %> <div><%= render @posts %></div>

post.rb

acts_as_taggable_on :tags acts_as_taggable after_validation :save_tags def save_tags array = self.check_taggable_word(self.title) self.tag_list.add(array, parse: true) #self.save end def tag_lists tag_lists = self.tag_list end def check_taggable_word(text) ary = Array.new nm = Natto::MeCab.new nm.parse(text) do |n| ary<<n.surface end #mekabuで要素に分解 tags = ActsAsTaggableOn::Tag.pluck(:name) #タグを取得 return ary & tags #共通部分を返す end

#追記
routes.rb

Rails.application.routes.draw do root 'static_pages#home' get '/about' => 'static_pages#about' get '/contact' => 'static_pages#contact' resources :categories do resources :posts end resources :posts do resources :comments resources :tags end get 'tags/:name' => 'tags#show' resources :tags, only: [:index, :show] end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moke

2017/03/13 00:34

<div><%= render @posts %></div>でrenderしている_post.html.erbを表示しないと何にも答えられませんよ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問