Ruby on rails 将_重定向到锚定更改url,而不是页面rails 4
我在rails应用程序中集成了一个html模板。它实际上是一个单页模板,但使用锚将不同的部分呈现为页面。像Ruby on rails 将_重定向到锚定更改url,而不是页面rails 4,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,我在rails应用程序中集成了一个html模板。它实际上是一个单页模板,但使用锚将不同的部分呈现为页面。像 localhost:3000/#home localhost:3000/#email 呈现具有转换到不同页面效果的锚定。 现在,我的控制器里有这个 if @message.valid? NotificationsMailer.new_message(@message).deliver redirect_to(root_path, :notice => "M
localhost:3000/#home
localhost:3000/#email
呈现具有转换到不同页面效果的锚定。
现在,我的控制器里有这个
if @message.valid?
NotificationsMailer.new_message(@message).deliver
redirect_to(root_path, :notice => "Message was successfully sent.")
else
flash.now.alert = "Please fill all fields."
redirect_to root_path(anchor: 'email')
end
在else部分中,重定向后,浏览器中的url确实更改为localhost:3000/#email
,但仍显示localhost:3000/#home
锚定部分。在我的导航栏中实际单击链接localhost:3000/#email
后,更改主页并呈现email
锚定
不过,DevTools和Firebug在控制台中并没有显示任何错误。有什么问题吗
任何帮助都将不胜感激 为什么要在页面中使用锚?Rails必须简单地添加锚点,但不会捕获哈希更改,因此不会呈现页面。当您单击链接时,它确实捕获了更改。@JustinD:点击这个有锚的链接:你没有看到你的浏览器向下滚动到锚中定义的注释吗?它还用于客户端调用JS函数,在使用主干/Angular.JS等时非常有用。@MrYoshiji,我知道为什么以及如何使用锚定链接。我甚至有一个用SammyJs开发的应用程序(使用散列更改路由)。我的问题更多的是,在Rails应用程序中,为什么要这样做?在我看来,您正在加载一个新页面。我相信问题不在应用程序的Rails部分,毕竟它确实正确设置了URL。看看你的HTML模板。