0
을 나열 어떻게 다형성 assocation 있습니다레일 : 다형성 협회는 : 협회
class User < ActiveRecord::Base
belongs_to :companiable, :polymorphic => true
end
class Agency < ActiveRecord::Base
has_many :users, :as => :companiable
end
class Publisher < ActiveRecord::Base
has_many :users, :as => :companiable
end
을 지금은 모든 사용자를 나열하고 그들이 속한 회사를 보여주고 싶어요. 이보다 더 우아한 해결책이 있습니까 (강하게 희망합니다)?
def index
@publishers = Publisher.all
@agencies = Agency.all
@users = User.all
end
...
<td><% unless user.companiable_id.nil? %>
<% if user.companiable_type == "Agency" %>
<%= @agencies[user.companiable_id].name %>
<% elsif user.companiable_type == "Publisher"%>
<%= @publishers[user.companiable_id].name %>
<% end %>
<% end %>
</td>
belongs_to
이 방법을 추가 한 이후
user.companiable
def index
@users = User.all
end
를 수행하여 다른 객체를 직접 액세스 할 수 있도록 당신은, 사용자로부터 회사를 액세서 수