投稿に紐づいたタグを表示
投稿に紐づいたタグを表示したいです
Ruby on Railsで掲示板のようなWebアプリをつくっています。
タグ付機能の実装中にエラーが発生しました。
解決方法を教えて下さい。
発生している問題・エラー
NoMethodError in Recruits#index
_recruit.html.erb where line #15 raised:
undefined method `tag_name' for #<Recruit:0x00007f8370072150>
該当するソースコード
<li class="recruit">
<div class="upper-rec">
<%= link_to recruit.name, recruit_path(recruit.id), class:"rec-user" %>
<div class="rec-style">
<%= recruit.style.name %>
</div>
</div>
<div class="mid-rec">
<div class="rec-plat"><%= recruit.contact.name %></div>
<div class="rec-userid"><%= recruit.player_name %></div>
</div>
<div class="lower-rec">
<ul class="rec-tags">
<li class="rec-tag">
<%= recruit.tag_name %>
</li>
</ul>
<div class="rec-text">
<%= recruit.text %>
</div>
<div class="rec-time">
<%= recruit.created_at %>
</div>
</div>
</li>
class RecruitsController < ApplicationController
before_action :set_recruit, only: [:show, :edit, :update, :destroy, :delete_with_pass]
before_action :set_tag
def index
@recruits = Recruit.includes(:tags).order("created_at DESC")
end
def set_recruit
@recruit = Recruit.find(params[:id])
end
def set_tag
@tags = Tag.all
end
class Tag < ApplicationRecord
has_many :recruit_tag_relations
has_many :recruits, through: :recruit_tag_relations
validates :tag_name, uniqueness: true
end
キャプチャ画面
左のサイドバーには@tags.each do |tag| tag.tag_nameでタグ名を取得できましたが、投稿にこの記述をすると紐づいていないタグまで表示されてしまいます。
