I have 3 models: User, Order and UserOrder
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
I have controller action in orders_controller.rb, which creates the relationship between user and order and it works fine (it creates the record in the database)
def create
...
if @order.save
current_user.order!(@order)
....
I want to render user.name in the orders’ index.html.erb file
<%= order.orderers.name %>
but in HTML it only renders caption “User”. If I use <%= order.orderers %> it returns the full hash, including 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"]
Any way to render user.name in orders’ index.html.erb?
Thanks
of for each orderer:
Regards!