2017-02-09 14 views
0

私はレールが新しく、いくつかのチュートリアルを見て、基本的なサイトを作ることに決めました。私は現時点で開発が始まっていますが、問題があります。link_toが動作するように見えないため、ページをロードするときにエラーNo route matchesが返されます。Rails - 経路内のnew_projects_pathが '経路が一致しません'というエラーが表示される

これは私がここにコマンドrake routesを入力したとき、私は自分の端末からnew_project_pathを得ているインデックスページ

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

ための私のコードでは、返されるすべてです:

 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 

私はこれが何時間も混乱していたので、どこが間違っているのか不思議に思っています。あなたが与えることができるどんな助けも大いに感謝されるでしょう! :) 私はドキュメントをチェックしたので、私は本当にわからないので、私のエラーを見つけることができないようです。あなたがここにいた何

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

:あなたはおそらく、この欲しい

答えて

1

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

では、すべての後にしているものではありません"/projects/new"に等しいactionのparamを作るために言います。

あなたが方法下記いずれかの使用することができます
+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" %> 
関連する問題