将参数传递给控制器​​中的回调

Ala*_*man 2 ruby-on-rails callback

我在我的应用程序控制器中有这两个方法我想要的是在我的projects_controller中使用它们作为回调,但它给了我错误,任何人都可以告诉我如何解决这个问题.

before_action :permit_show(@project), only:[:show]
before_action :permit_edit(@project), only:[:edit]



def permit_edit(object)
  if (current_user.id != object.creator_id)
   render_404
  end   
end

def permit_show(object)
 members = object.users
 if (!members.include? current_user)
  render_404
 end   
end
Run Code Online (Sandbox Code Playgroud)

Zer*_*ber 5

要传入参数,您必须使用块.

before_filter(only: [:show]) { permit_show(@project) }
before_filter(only: [:edit]) { permit_edit(@project) }
Run Code Online (Sandbox Code Playgroud)