1
2つの異なるモデルスルーループ:レール:私は基本的な検索を実現していると私はこのような結果を通してループしてる
ビュー/アイテム/ search.html.erbまた、私が持っている
<% if @items.present? %>
<% if @items %>
<% @items.each do |item| %>
<%= link_to item.title, item %>
<%= number_to_currency item.price %>
<% end %>
<% end %>
<% end %>
class Account < ApplicationRecord
belongs_to :user
end
class Item < ApplicationRecord
belongs_to :user
belongs_to :account
end
class User < ApplicationRecord
has_one :account, autosave: true
has_many :items
end
:住所、電話番号など
モデル団体に関するすべての詳細が含まれていbelongs_to :user
と
また、はaccounts
とitems
のテーブルの下にもあります。
私は結果に特定の項目のaccount
の情報を示したいと思います。 2つの異なるモデルをループして、希望の結果を表示するにはどうしたらいいですか?これはあなたの入社アカウントテーブル内の各列を求めるSQLクエリを与えるだろう
Account.joins(user: :items).where(items: { id: item_id })
:
は 'includes'がここjoins''より良いオプションではないでしょうか? – Gabbar
質問の情報に基づいて、いいえ。 'joins'は完璧です。各 'Account'からの情報だけを表示している場合、' Item'モデルを熱心に読み込む必要はありません。 –
しかし、疑わしい時は、レールのログを確認してください。 –