如何解决我的链接和路线无法在铁路上运行
我的问题就从大门开始,大声笑。
基本上,链接到注册表单的按钮没有任何作用,只是不断返回到我开始的主页。
这是我的主页,那里是注册按钮。
<!DOCTYPE html>
<html>
<head>
<title>Flight Scheduler</title>
</head>
<body>
<nav>
</nav>
<h1>Welcome to the Flight Scheduler</h1>
<%= button_to "Login",'/login',method: :get%>
<%= button_to "Sign Up",'/users/new',method: :get %>
</body>
</html>
这是我的路线。
root 'static#home'
#users
get '/users/new',to: 'users#new',as: 'new_user'
最后这是我的控制器
class UsersController < ApplicationController
def index
@users = User.all
end
def new
@user = User.new
end
def create
@user = User.create(user_params)
session[:user_id] = @user.id
redirect_to '/welcome'
end
private
def user_params
params.require(:user).permit(:name,:password,:admin)
end
end
当我单击注册按钮时,它不会离开主页。较早地对其进行了修改,它给我一个错误,没有路由与[GET]'/ users / new'相匹配,但是当我执行rake route命令时,它就在那里。我如何克服这个难题?
解决方法
您可以尝试将助手button_to
替换为link_to
。
<%= link_to "Login",'/login' %>
<%= link_to "Sign Up",'/users/new' %>
,
正如ViníciusAlonso所说,您应该使用link_to而不是button_to。我猜想也许当您单击该按钮时,您正在制作ajax,而RoR则使用.js格式和data-remote = true发出该请求。这意味着您的服务器正在向您的前面发送一个空的正文,而更改位置是通过javascript处理该请愿。所以,这就是为什么不改变。使用link_to,RoR会生成锚,您的所有麻烦都将得到解决。
如果您正在使用button_to,要进行其他操作,只需在button_to帮助器中添加local = true即可。
祝你好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。