SyntaxError:如何将参数传递给before_action?

时间:2016-01-25 16:17:31

标签: ruby-on-rails ruby ruby-on-rails-4 model-view-controller syntax-error

我在下面的第二行(第二个before_action)上得到一个SyntaxError。如何传递从第一个@organization到第二个before_action产生的变量(before_action)?

在我的控制器中,我会在行动前呼吁以下两个:

before_action :find_organization
before_action :rights?(@organization)

find_organization
  @organization = Organization.find_by(id: params[:id])
  if @organization == nil
    render json: { errors: "Organization not found" }, status: :bad_request
  end
end

第二个before_action位于我的基本控制器中:

private
def rights?(organization)
  unless rights(organization) == "full"   #Uses a helper method
    render json: {errors: "You do not have the right" }, status: :unauthorized
  end
end

1 个答案:

答案 0 :(得分:2)

您可以使用块指定before_action,如下所示:

before_action do
  find_organization
  rights?(@organization)
end

如果您认为此方法适用,您可以从rights?致电find_organization