尝试在我的应用程序中设置Cancan,但我的PostsController出了问题。
简而言之,当创建Post时,我想将其与current_user关联起来,因此我的create操作看起来像这样:
简而言之,当创建Post时,我想将其与current_user关联起来,因此我的create操作看起来像这样:
class PostsController < ApplicationController
before_filter :login_required, :except => [:index, :show]
load_and_authorize_resource
...
def create
# @post = Post.new(params[:post]) # <-- covered by load_and_authorize_resource
@user = current_user
@post = @user.posts.create(params[:post])
respond_to do |format|
...
end
...
end
我不确定load_and_authorize_resource
的目的是什么(除了显而易见的)。但在这种情况下呢?我是否需要以某种方式覆盖load_and_authorize_resource
来创建操作?还是有另一种(更好的)方法来加载@user
,然后再创建@post
?