SyntaxError: how to pass a parameter to a before_action?
SyntaxError: how to pass a parameter to a before_action?
我在下面的第二行(第二行 before_action
)收到语法错误。如何将第一个 before_action
产生的变量 (@organization
) 传递给第二个 before_action
?
在我的控制器中,我调用以下两个 before 操作:
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
您可以用块指定 before_action
,如下所示:
before_action do
find_organization
rights?(@organization)
end
或者如果您认为这种方法适用,您可以从 find_organization
调用 rights?
。
我在下面的第二行(第二行 before_action
)收到语法错误。如何将第一个 before_action
产生的变量 (@organization
) 传递给第二个 before_action
?
在我的控制器中,我调用以下两个 before 操作:
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
您可以用块指定 before_action
,如下所示:
before_action do
find_organization
rights?(@organization)
end
或者如果您认为这种方法适用,您可以从 find_organization
调用 rights?
。