Ruby on rails SyntaxError:如何将参数传递给before_操作?

Ruby on rails SyntaxError:如何将参数传递给before_操作?,ruby-on-rails,ruby,ruby-on-rails-4,model-view-controller,syntax-error,Ruby On Rails,Ruby,Ruby On Rails 4,Model View Controller,Syntax Error,我在下面的第二行(操作之前的第二行)得到一个语法错误。如何将第一个操作之前的结果的变量(@organization)传递到第二个操作之前的 在我的控制器中,我在执行操作之前调用以下两个命令: before_action :find_organization before_action :rights?(@organization) find_organization @organization = Organization.find_by(id: params[:id]) if @o

我在下面的第二行(操作之前的第二行
)得到一个语法错误。如何将第一个
操作之前的
结果的变量(
@organization
)传递到第二个
操作之前的


在我的控制器中,我在执行操作之前调用以下两个命令:

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
操作前的第二个
位于我的基本控制器中:

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 do
  find_organization
  rights?(@organization)
end

或者,如果您认为此方法适用,您也可以从
查找组织
致电
权限?

谢谢!如果只想添加
:[:show]
,该怎么办?因为如果我把它添加到
do中。。。结束
,我再次遇到语法错误。更简单地说,您可以在第一个方法中设置一个实例变量,然后在第二个方法中使用该变量(如果存在)。对于Nick关于仅添加
的问题:[:show]
,请在仅操作之前尝试
:[:show]do