Rails 4 将 Flash 通知从 REST 重定向到 ActiveAdmin API

Rails 4 Redirect flash notice to ActiveAdmin from REST API

嗨,我想检查我的 REST params 中通过

设置的布尔值
if params[:myboolean] == true
  ...         
end

在我的 api 控制器中,并在我的 AciveAdmin 面板中条件为 true 时触发 flash[:alert] 事件。我怎样才能做到这一点?

编辑

 def update
     respond_to do |format|
        if params[:myboolean] 
              Rails.logger.info "***boolean is true***"           
        end

我从来没有看到记录器消息。我检查参数的方式是错误的吗?

更新

我通过 curl -u test -X PUT http://127.0.0.1:3000/api/...?myboolean\=true -d '' 发送参数,它在我的数据库中得到更新,所以我认为这不是参数的问题更多的是我检查参数的方式

在这种情况下,我通常会这样做:

puts "params: #{params}"

应该打印发送到该方法的所有参数,您应该查看是否设置了 params[:myboolean]

默认情况下,参数以字符串形式发送,它们并不总是神奇地更改为 bool/integers,因此您必须将检查更改为:

if params[:myboolean] == 'true'

注意引号,然后你就比较了(两个字符串)。

您可能还会将布尔值设为 1 或 0,因此您可能也必须匹配它:

if ['true','1'].include? params[:myboolean].to_s

通过对参数执行 to_s,您还可以确保如果它确实作为 anb actual bool 通过,那么检查仍然有效