2017-05-20 6 views
0

ブログを設定する方法を示すガイドについては、私は最大5.7を得ました。このセクションでは、記事を表示する方法を説明しますが、手順をたどった後、私はrailsサーバーを実行しようとするとエラーが発生します。これは、ルート行の構文エラーであることを正確に示しています。行は "article get /articles/:id(.:format)articles#show"であり、エラーは:idを指しています。私は本当に何をすべきかわからない、私はガイドのルートのセクションを見てきたと私はそれが有効な行だと思った。あなたはあなたの説明に入れてきたものに基づいてRuby on rails guide

blog/config/routes.rb:5: syntax error, unexpected ':', expecting keyword_end (SyntaxError) article get /articles/:id(.:format) article#show 
+2

コンソールに表示されるエラーと記事の 'show.html.erb'ファイルを追加します。 –

+0

'routes.rb'ファイルを投稿してください – jdgray

答えて

2

ルートあなたはフォーマットが悪いとしようとしていますが、文字通りrails routesコマンドの出力を貼り付けたと言えるでしょう。

この場合、最初にHTTPの動詞GETを指定し、次にこれが応答するurlを指定してから、コントローラとアクションを指定する必要があります。

から:

article get /articles/:id(.:format) articles#show 

で試してみてください:

get '/articles/:id', to: 'articles#show' 
+0

申し訳ありません、初めてのことです。 :)私はコピー貼り付けをしました、私はそれがガイドのためだと思った! – Woo

0

、それはあなたのようになります。

routes.rbは、私は、コマンド・レール・サーバを使用するときに私が受け取る

Rails.application.routes.draw do 
get 'welcome/index' 
resources :articles 
root 'welcome#index' 
article get /articles/:id(.:format) articles#show 
end 

正確なメッセージが含まれています少なくともあなたのルートの1つにハッシュロケット(=>)が足りなくなっています。しかし、resources :articles行を追加したので、このエラーが発生した行は、おそらくresourcesキーワードがこれらのような共通ルートを自動的に生成するため、完全に削除することができます(詳細はRails APIを参照してください)。

あなたroutes.rbファイルは、おそらく次のようになります。

get "/articles/:id" => "articles#show" 

かで説明した方法で:

Rails.application.routes.draw do 
    get 'welcome/index' 
    resources :articles 
    root 'welcome#index' 
end 

また、あなたはとのトラブルを抱えているルートは、以下のように書き換えることができますguide

get '/articles/:id', to: 'articles#show'  
+0

' => 'と': 'の両方が動作します。 –

+0

ええ(本質的に私が書いたものですが)OPはこれらの両方が欠けています...言及はしませんが、ルートの 'articles#show'部分に引用符がありません。エラー。 – kohrVid

+0

ありがとうございました。 – Woo

0

をあなたはこの行を削除する場合:

article get /articles/:id(.:format) articles#show 

が、それは誤りの乗り心地を取得する必要があります。

この行は正しくフォーマットされておらず、resources :articles行で既に達成されていることを達成しようとしています。