0
我在下面的第二行(第二個before_action
)得到了一個SyntaxError。如何將第一個before_action
產生的變量(@organization
)傳遞給第二個before_action
?SyntaxError:如何將參數傳遞給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
謝謝!如果你想添加'only:[:show]'?因爲如果我在'do ... end'中添加這個,我又會得到一個語法錯誤。 – Nick
然後使用'before_action only:[:show] do' – Omnigazer
更簡單地說,您可以在第一個方法中設置一個實例變量,然後在第二個方法中使用該變量(如果存在)。 –