由于我安装了devise
,因为没有路由匹配,我一直收到ActionController::UrlGenerationError in Devise::Registrations#new
错误。该错误在我的application.html
从第20行开始:
12 <header class="navbar navbar-default" role= "navigation">
13 <div class="navbar-inner">
14 <div class="container">
15 <div id="logo" class= "navbar-brand">
<%=link_to"home",root_path %></div>
16 <nav class+"collapse navbar-collapse navbar-ex1-collapse">
17 <ul class="nav navbar-nav pull-right">
18
19 <li><%= link_to"submit a new tape", new_post_path %></li>
20 <li><%= link_to"about", {:controller => 'static_pages', :action => 'about'} %></li>
21
路线档案:
Rails.application.routes.draw do
devise_for :users
get 'static_pages/home'
get 'static_pages/about'
resources :posts do
member do
put "like" , to: "posts#upvote"
put "dislike" , to: "posts#downvote"
end
end
root 'posts#index'
端
答案 0 :(得分:0)
您的注册#New action似乎没有相关的控制器操作。我建议您在routes.rb
文件中明确设置控制器,方法是在路由声明中附加相应的选项。
Here's a link to the proper Devise documentation
另外,请确保正确路由静态页面。我假设您希望static_pages路由看起来更像:
get 'home', to: 'static_pages#index'
...
答案 1 :(得分:0)
对于任何可能遇到类似问题的人来说,我是做了什么来解决它的。出于某种原因,我的application.html中的第20行(请参阅上面的帖子)导致devise
出现问题。将其更改为此后问题就消失了:
<li><%= link_to"about", about_path %></li>
简单修复!