User、Order、UserOrder の 3 つのモデルがあります。
user_order.rb
belongs_to :user, :class_name => "User"
belongs_to :order, :class_name => "Order"
user.rb
has_many :user_orders, foreign_key: :user_id,
dependent: :destroy
has_many :ordering, through: :user_orders,
source: :order
order.rb
has_many :reverse_user_orders, foreign_key: :order_id,
dependent: :destroy,
class_name: "UserOrder"
has_many :orderers, through: :reverse_user_orders, source: :user
orders_controller.rbにコントローラーアクションがあり、ユーザーと注文の間の関係を作成し、正常に動作します(データベースにレコードを作成します)
def create
...
if @order.save
current_user.order!(@order)
....
注文の index.html.erbファイルで user.name をレンダリングしたい
<%= order.orderers.name %>
ただし、HTML では、キャプション「ユーザー」のみをレンダリングします。<%= order.orderers %> を使用すると、user.name を含む完全なハッシュが返されます。
[#<User id: 19, name: "Peter Jackson", email: "foobar@vk.com", remember_token: "pj6eI2mc2_6G0UbumoEqMA", password_reset_token: nil, password_reset_sent_at: nil, created_at: "2013-01-27 14:10:15", updated_at: "2013-01-27 14:10:28", provider: nil, uid: nil, passport: nil, region: "Zimbabve"]
注文のindex.html.erbでuser.nameをレンダリングする方法はありますか? ありがとう