ruby on rails - Using the same route resource to find objects in a polymorphic association -
i have rails 3 app user model has_one profile. i'm thinking of adding ability sign , create profile facebook , potentially other services. user still have 1 profile, created through app, facebook, etc. pretty common.
in thinking through implementation, largely settled on polymorphism. way keep third-party service-specific logic in profile object still have associated user. like:
class user < activerecord::base   belongs_to :profile, polymorphic: true end  class profile < activerecord::base   has_one :user, as: :profile, dependent: :destroy end  class facebookprofile < activerecord::base   has_one :user, as: :profile, dependent: :destroy end   my problem, however, when comes routing. @ moment have profiles routing through profiles#show. inside action typical find like:
@profile = profile.find(params[:id])   if using sti, use find on 1 class because i'd subclassing other profile objects. polymorphism seems i'd have bit different. store profile_id on user. in show action do:
@user = user.where(profile_id: params[:id]) @profile = @user.profile   that feels bit odd me, i'm wondering if there easier way polymorphic profile object directly id.
 
 
  
Comments
Post a Comment