Devise中的ActionController :: UrlGenerationError :: Sessions#new - 没有路由匹配

时间:2017-11-29 09:12:57

标签: ruby-on-rails devise

我正试图找出以下问题。在开始学习rails时,有人可以帮助我吗?

环境

ruby​​ 2.3.3p222(2016-11-21修订版56859)[i386-mingw32]

Rails 5.1.4

设计(4.3.0)

当前行为

按下“注册”链接后,在浏览器窗口中显示以下结果。

  

Devise中的ActionController :: UrlGenerationError :: Sessions#new

     

没有路线匹配{:action =>“new”,   :控制器=> “中制定/ flight_records”}

关注 application.html.erb

中的代码
<%= link_to 'Add New', {:controller => 'flight_records', :action => 'new'} %>
<%= link_to 'Logbook', {:controller => 'flight_records', :action => 'index'} %>
<%= link_to 'Sign Up', new_user_registration_path %>
<%if user_signed_in? %>
  <%= link_to "Sign Out", destroy_user_session_path, method: :delete  %>
<%else %>
  <%= link_to "Log In", new_user_session_path %>
<% end %> 

关注 routes.rb

中的代码
Rails.application.routes.draw do
   devise_for :users
   resources :flight_records 

   #get 'welcome/index'

   root 'flight_records#index'

在rake中跟随路线:

rake routes

enter image description here

2 个答案:

答案 0 :(得分:0)

您正在尝试创建新用户。所以,它应该用POST动作来设计#registration。 默认设计注册创建用户记录,如果要创建flight_records,请修改表单以指向flight_records创建方法。

答案 1 :(得分:0)

现在它有效! application.html.erb的工作版本

         |              |              |       
@echo off
setlocal enabledelayedexpansion
set sourcefile=d:\CorpApplicationsToCheck.xml
set tempfile=d:\tempfile.txt
set oldtoken=ESBBWSVCP01
set newtoken=ESBBWSVCP03
type nul>%tempfile% for /f "tokens=*" %%l in (%sourcefile%) do (
    set line=%%l
    set line=!line:%oldtoken%=%newtoken%!
    echo !line!>>tempfile.txt
)
del %sourcefile%
move %tempfile% %sourcefile%