2014-03-26 184 views
2

当这些部分在浏览器中加载时,我无法通过浏览器后退按钮离开页面。该页面保持不变,但URL更改。无法通过浏览器后退按钮浏览页面

这可能是什么原因造成的?

match '/signup', to: 'users#new',   via: 'get' 
    match '/signout', to: 'sessions#destroy',  via: 'get' 


# /users/new 
    def new 
    @user = User.new 
    render partial: "new", layout: false 
    end 

# /sessions/new 
    def new 
    render partial: "new", layout: false 
    end 

这是我的堆栈。这是从点击登录链接一次。

Started GET "/signin" for 127.0.0.1 at 2014-03-26 19:57:46 -0700 
Started GET "/signin" for 127.0.0.1 at 2014-03-26 19:57:46 -0700 
Processing by SessionsController#new as */* 
Processing by SessionsController#new as */* 
    Rendered sessions/_new.html.erb (0.8ms) 
    Rendered sessions/_new.html.erb (0.8ms) 
Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) 
Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) 




Started GET "/signin" for 127.0.0.1 at 2014-03-26 19:57:46 -0700 
Started GET "/signin" for 127.0.0.1 at 2014-03-26 19:57:46 -0700 
Processing by SessionsController#new as HTML 
Processing by SessionsController#new as HTML 
    Rendered sessions/_new.html.erb (0.8ms) 
    Rendered sessions/_new.html.erb (0.8ms) 
Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.0ms) 
Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.0ms) 




Started GET "/signin" for 127.0.0.1 at 2014-03-26 19:57:46 -0700 
Started GET "/signin" for 127.0.0.1 at 2014-03-26 19:57:46 -0700 
Processing by SessionsController#new as HTML 
Processing by SessionsController#new as HTML 
    Rendered sessions/_new.html.erb (0.8ms) 
    Rendered sessions/_new.html.erb (0.8ms) 
Completed 200 OK in 2ms (Views: 1.6ms | ActiveRecord: 0.0ms) 
Completed 200 OK in 2ms (Views: 1.6ms | ActiveRecord: 0.0ms) 
+1

为什么你有两个定义你的'new'方法? – tirdadc

+0

对不起,只是更新了帖子。第一个是另一个新会话的新用户。 – isea

+0

真的吗?我感到震惊,没有人为此做任何事情。 – isea

回答

0

您是否有过滤器重定向公开访问会话#新?您是否已将路线定义/登录?

+0

谢谢。没有过滤器重新定向到新的会话。有一条路径用于“/ signin” – isea

0

我可能是错的,但正如我在评论中写到的,前一段时间,我有一个使用Turbolinks on Rails 3.2.12和一组定制JS库的客户。 Turbolinks造成了很多问题,例如双重提交,其中一个与您提到的类似。我有3种选择:

1-取出Turbolinks(我的临时解决方案,直到我发现球队TL是导致它)

2-更改JS库依赖

3-更新Rails应用程序到4.x最新。 (我最后这样做,这不是太糟糕)

如果我错了,你的情况和设置不类似于我的,这是一个很好的线程在Github上,一些人试图解决它,仍然似乎是开放的。

https://github.com/rails/turbolinks/issues/256

0

检查参数:

Processing SESSION::SESSION#new (for 127.0.0.1 at 2014-04-04 13:50:03) [POST] 
Parameters: {"authenticity_token"=>"XXXXX=", "param1"=>"1"} 

那么在你的日志,你会看到什么PARAMS如果它不向你要创建什么PARAMS根据您的列或你想要什么您是送保持。

如果你想创建一个返回按钮,你可以试试这个:

link_to_function "Back", "history.back()" 

检查行动的形式,也许您发送其他网址

<% form_tag :controller=>"sessions",:action=>"new" do %> 
    <% @user.each do |user| %> 
     <%= user.name %> 
     <%= user.lastname %> 
    <% end %> 
    <% end %>