2017-04-04 12 views
0

小さなレールブログを作成しようとしていて、エラーが発生しました。私はここで何かの命名規則を台無しにしてしまったと思う...しかし、私を助け、答えを与えるほどの具体的なものは見つけられない。Rails form_forが期待通りに機能しない

私は

resources :blog 

のルートと次

class BlogController < ApplicationController 

    def index 
    @blogs = Blog.all 
    end 

    def show 
    @blog = Blog.find(params[:id]) 
    end 

    def new 
    @blog = Blog.new 
    end 

end 

私はnew.html.erbページ上のフォームを設定しようとすると、それがリンクしているコントローラを持っていますどの状態にするか

undefined method `blogs_path' 

私のルートはブログであり、ブログではありません...どこが間違っていますか?私はルートが/ blogであることを望みます。

+0

リソースは通常複数形になっているので、 'resources:blogs'と言っておくことをお勧めします。 – bodrovis

答えて

1

慣習に従って、コントローラファイルの名前をblogs_controller.rbに変更し、その内部のクラスをBlogsControllerに変更します。次に、お客様のroutes.rbresources :blogsにあります。それはすべて正常に動作するはずです。

resources :blogs 

そして私は、コントローラがあまりにも複数を使用すべきだと思う:BlogsController

+0

助けてくれてありがとう。私は戻って、標準の命名規則を使ってブログを設定しました。 –

1

は、すでに述べたように、それがあるべき、と述べました最初の列の値接頭辞は、使用できるヘルパーの名前です。prefix_urlまたはprefix_path

1

をURLで間違っているものを見つけるためにあなたがrake routesコマンド

を使用することができます

関連する問題