tag/show.html.erbの以下のように、多対多関係テーブル(Tag-Service-Category)からデータを取得したいと考えています。多くのテーブルからデータを取得したい
class Tag < ActiveRecord::Base
has_many :service_tags
has_many :services, through: :service_tags
end
class ServiceTag < ActiveRecord::Base
belongs_to :service
belongs_to :tag
end
class Service < ActiveRecord::Base
has_many :service_tags
has_many :tags, through: :service_tags
has_many :service_categories
has_many :categories, through: :service_categories
end
class ServiceCategory < ActiveRecord::Base
belongs_to :service
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :service_categories
has_many :services, through: :service_categories
end
私はこのようなコードを書いていますが、動作しません。 @tag = Tag.find(のparams [:ID])あなたは正しいデシベル関係を持っていますが
<% @tag.services.each do |service| %>
<% service.categories.each do |category| %>
<span class="category" class="<%= category.id %>"><%= category.name %></span>
<% end %>
<% end %>
コントローラ/ tags_controller.rb
class TagsController < ApplicationController
def show
@tag = Tag.find(params[:id])
@tags = Tag.all
end
end
コントローラを追加できますか? –
ご協力いただきありがとうございます!うん – Dan
あなたはそれがうまくいかないことを意味しますか?エラーがありますか、何も表示されません。 –