2017-02-09 88 views
0

所以我真的是新的铁路和看了几个教程后,我决定去做一个基本的网站。我目前正处于开发阶段,但有一个障碍,我似乎无法得到link_to,因为我在加载页面时收到No route matches错误。Rails - 在路由中的new_projects_path,但得到'没有路由匹配'的错误

这是我的索引页代码

<h1>Projects#index</h1> 
<%= link_to "Create new project", action: new_project_path %> 

我碰到我的终端new_project_path当我输入命令rake routes这里是返回的一切:

 Prefix Verb URI Pattern     Controller#Action 

     root GET /       projects#index 
    projects GET /projects(.:format)   projects#index 
      POST /projects(.:format)   projects#create 
new_project GET /projects/new(.:format)  projects#new 
edit_project GET /projects/:id/edit(.:format) projects#edit 
    project GET /projects/:id(.:format)  projects#show 
      PATCH /projects/:id(.:format)  projects#update 
      PUT /projects/:id(.:format)  projects#update 
      DELETE /projects/:id(.:format)  projects#destroy 

和这里来自projects_controller文件的代码:

class ProjectsController < ApplicationController 
    def index 

    end 

    def create 
    @project = Project.create(project_params) 
    if(@project.save) 
     redirect_to root_url, :notice => "Project added" 
    else 
     render "new" 
    end 
    end 

    def new 
    @project = Project.new 
    end 


    private 

    def project_params 
    params.require(:project).permit(:title, :desc, :dates) 
    end 

end 

我只是想知道我哪里出错了,因为这已经困扰了几个小时了。任何帮助,你可以给予不胜感激! :) 我检查了文档,似乎无法找到我的错误,所以我真的不知道。

回答

1

你可能想这样的:

<%= link_to "Create new project", new_project_path %> 

做过什么,在这里:

<%= link_to "Create new project", action: new_project_path %> 

说让action PARAM等于"/projects/new"这是不是你毕竟是什么。

+0

这就是它!谢谢:)对不起,这是一个简单的修复! –

0

您可以使用以下任何方法:

<%= link_to "Create new project", new_project_path %> 

OR

<%= link_to "Create new project", controller: "projects", action: "new" %> 

OR

<%= link_to "Create new project", "/projects/new" %> 
相关问题