我有一些代码,我有一个 :notice,它只是有选择地显示。

这是代码

respond_to do |format|
  if @userhj.save
    format.html { redirect_to(:action => :index, :notice => 'Succesfully assigned job') }
    format.xml  { render :xml => @userhj, :status => :created, :location => @userhj }
  else
    format.html { redirect_to(:root, :notice => 'Duplicate job assignment') }
    format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
  end
end

从 :index View 重定向到 :index 时,通知无法正确显示。看看 Firebug 的网络控制台,有一个 GET(在此处插入 url)?notice=(notice text),当通知正确显示时,它不会出现在其他页面中。

我正在使用 authlogic,只是基本的,使用本教程 http://www.logansbailey.com/2010/10/06/how-to-setup-authlogic-in-rails-3/ 进行设置。我很感激这方面的任何帮助。谢谢。

最佳答案

我猜 Ruby 认为 :notice 是 url 属性的一部分,而不是 options 属性。试试这个:

redirect_to({:action => :index}, {:notice => 'Succesfully assigned job'})

关于ruby-on-rails - 使用 Redirect_To 时,Rails 3 通知不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5853157/

10-13 06:32