在继续之前,要做出设计决定并在“Rails方式”上寻找一些验证或建议。
摘要:
其中一个要求是轻松显示给定事件的所有照片。另一个将显示给定用户提交的所有照片。
我最初假设:
class Photo < ActiveRecord::Base
belongs_to :post
belongs_to :user
belongs_to :event
...
end
但是我在Post控制器中建立所有关系时遇到了麻烦:
class PostsController < ApplicationController
before_filter :login_required, :except => [:index, :show]
def create
@user = User.find(session[:user_id])
@post = @user.posts.create(params[:post])
# how/where to assign Event?
...
end
...
end
我可以在Post模型中循环遍历build
每个:photo
参数...但不确定如何/在何处分配event_id
?这让我想知道是否有更好的方法?
也许我应该探索has_many :through
关系:
用户has_many :photos, :through => :posts
活动has_many :photos, :through => :posts
简而言之,我应该存储user_id&amp;每张照片中的event_id都可以根据需要更轻松地抓取它们?如果是这样,如何最好地分配关联?或者,这会变得难以维护,因此通常不赞成,我应该使用has_many :through
方法吗?