我的链接和路线无法在铁路上运行

问题描述

我的问题就从大门开始,大声笑。

基本上,链接到注册表单的按钮没有任何作用,只是不断返回到我开始的主页。

这是我的主页,那里是注册按钮。

<!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即可。

祝你好运!

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...