我的user.rb中有has_many :posts, :dependent => :destroy
,post.rb中有belongs_to :user
,我的帖子迁移中有t.references :user
和add_index :posts, :user_id
,然后是我的路线。我有:
resources :users do
resources :posts
end
如何制作以便当我以用户身份登录并发帖时,我可以使用user.posts
并访问这些帖子?
答案 0 :(得分:1)
respond_to :html
def index
@posts = current_user.posts
end
def new
@post = current_user.posts.new
end
def edit
@post = current_user.posts.find params[:id]
end
def create
@post = current_user.posts.new params[:post]
@post.save
respond_with @post
end
def update
@post = current_user.posts.find params[:id]
@post.update_attributes params[:post]
respond_with @post
end
def destroy
@post = current_user.posts.find params[:id]
@post.destroy
respond_with @post
end
答案 1 :(得分:0)
另一种方法是:
def create
if current_user.posts.create!(params[:post])
# success
else
# validation errors
end
end
最重要的是,您希望帖子有一个名为user_id
的外键,将其绑定到用户对象。通过current_user.posts...
,它会自动将两者联系起来。