私はrailstutorial.orgのMichael Hartlのチュートリアルに取り組んでいます。私はルーティングが機能するようにすることで第5章で難しさを感じています。 私はルートで起動した場合、これらの各レールに構文エラーがあります
routes.rb
Rails.application.routes.draw do
root 'static_pages#home'
get 'static_pages/help'
get 'static_pages/about'
get 'static_pages/contact'
を提出*がこの構文の作品とすべてのテストに合格
static_pages_controller_test.rb
test "should get home" do
get :home
assert_response :success
assert_select "title", "Ruby on Rails Tutorial Sample App"
end
のようなテストがあるが、後彼が使用して構文を変更したいです_path規約。
は今テストが
class StaticPagesControllerTest < ActionController::TestCase
test "should get home" do
get root_path
.
.
end
test "should get help" do
get help_path
.
.
end
のように見えると私は
root 'static_pages#home'
get '/help', to: 'static_pages#help'
get '/about', to: 'static_pages#about'
get '/contact', to: 'static_pages#contact'
へのルートを更新したが、今、すべてのテストが
ERROR["test_should_get_home", StaticPagesControllerTest, 2016-06-30 05:02:41 -0700]
test_should_get_home#StaticPagesControllerTest (1467288161.43s)
ActionController::UrlGenerationError: ActionController::UrlGenerationError:
No route matches {:action=>"/", :controller=>"static_pages"}
ERROR["test_should_get_help", StaticPagesControllerTest, 2016-06-30 05:02:41 -0700]
test_should_get_help#StaticPagesControllerTest (1467288161.43s)
ActionController::UrlGenerationError: ActionController::UrlGenerationError:
No route matches {:action=>"/help", :controller=>"static_pages"}
私のコントローラは何かに見えるメッセージで失敗しますこのように
class StaticPagesController < ApplicationController
def home
end
def help
end
.
.
end
私は熊手ルートを実行する場合、私は
Prefix Verb URI Pattern Controller#Action
root GET/ static_pages#home
help GET /help(.:format) static_pages#help
about GET /about(.:format) static_pages#about
contact GET /contact(.:format) static_pages#contact
は私が間違って何をやってもらいますか?
緑のテストが表示されますあなたテスト/コントローラ/ static_pages_controller_test.rbを更新したら、確信しています。それは可能ですか? 4対5? – mkrinblk
私はこれにもっと傾いています。私は彼がチュートリアルを更新した時は確信していませんが、今度は彼の宝石ファイルで4th-edにレール5.0.0が掲載されていますが、2週間前にチュートリアルを開始したときには、 Rails 4.2.2をリストアップし、そのエディションで彼はルートを別に書いています。* _path構文に関する2つのバージョンの間に変更がありましたか? – mkrinblk
はい作成者は先週5.0.0でレールチュートリアルを更新しました。あなたはそれを更新することをお勧めします。これにより、さらに快適でエラーのない旅が可能になります。5.0.0で学ぶにはもっと新しいものが得られます –