我在下面的第二行(第二个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
答案 0 :(得分:2)
您可以使用块指定before_action
,如下所示:
before_action do
find_organization
rights?(@organization)
end
如果您认为此方法适用,您可以从rights?
致电find_organization
。