【问题标题】:Redirect_to not working as expectedRedirect_to 未按预期工作
【发布时间】:2016-06-03 18:10:10
【问题描述】:

我正在创建一个带有 Ajax 调用的复选框以更新属性...一切正常,但我的重定向没有按预期工作(也没有 flash[:notices])

如果我使用 chrome 网络,我可以看到所需页面的 GET 方法,但没有任何重定向,并且 flash[:notices] 不起作用(我假设它是相关的)

这是我的代码:

控制器:

def toggle
  @prato = Prato.find(params[:id])

if params[:sugestao] 
  @sugestao = params[:sugestao]
  if @sugestao == "true" and Prato.where("sugestao = ? AND categoria_pratos_id = ?", "1" , @prato.categoria_pratos_id).count <= 2
 @prato.update_attributes(:sugestao => @sugestao)

else

if @sugestao == "true" and Prato.where("sugestao = ? AND categoria_pratos_id = ?", "1" , @prato.categoria_pratos_id).count > 2
  flash[:notice] = "nao"

end
end
if @sugestao == "false"
   @prato.update_attributes(:sugestao => @sugestao)

end
end


if params[:menu]
  if @prato.update_attributes(:menu => params[:menu])


  else

  end
else 
  if params[:ativo]
    if @prato.update_attributes(:ativo => params[:ativo])

  else

  end
end
end
flash[:notice] = "fds"
redirect_to "/pratos/new?"
end

查看:

<%= check_box_tag 'Ativo', prato.id , prato.ativo,:class => "task-check2", :id=>"task-check2"  %>
<%= check_box_tag 'Sugestão', prato.id , prato.sugestao,:class => "task-check3", :id => "task-check3"  %>

Javascript

$(".task-check2").bind('change', function(){

    $.ajax({
      url: '/pratos/'+this.value+'/toggle',
      type: 'POST',
      data: {"ativo": this.checked}
    });


});


$(".task-check3").bind('change', function(){

    $.ajax({
      url: '/pratos/'+this.value+'/toggle',
      type: 'POST',
      data: {"sugestao": this.checked}
    });


});

路线

resources :pratos do
  member do
    post 'toggle'
  end
end

好的,所以一切都按预期工作...问题是我想在用户激活 3 个复选框但 Flash 通知和重定向不起作用时显示一条消息...有人可以向我解释为什么吗?

【问题讨论】:

  • first.. 重定向将在服务器上发出新请求...所以 flash 将无法与重定向一起使用
  • 我一直使用带有重定向的闪光灯,它工作得很好:o

标签: jquery ruby-on-rails ajax checkbox


【解决方案1】:

您正在向控制器发送 js 请求,这就是为什么这不会重定向并且不会显示您的 flash 消息,因为您的页面未加载。为此,您必须在 AJAX 成功toggle.js.erb

上使用 JavaScript 更改 div 数据

【讨论】:

  • 我有点明白你在说什么,这很有道理,但你能告诉我怎么做吗?
  • 可以添加闪信视图吗
  • 您只能选择3道菜
猜你喜欢
  • 2011-02-16
  • 1970-01-01
  • 2021-06-04
  • 2022-01-24
  • 2015-05-11
  • 2020-05-15
  • 2014-10-31
  • 2018-02-12
  • 2014-01-20
相关资源
最近更新 更多