0
私は "newbie"というモデルを持っています。 routes.rbをファイルには、次のようになります。railsルート - 未定義メソッド
Myapp::Application.routes.draw do
resources :newbies
root to: 'static_pages#home'
match '/about', to: 'static_pages#about'
コントローラは次のようである:
class NewbiesController < ApplicationController
def show
@newbie = Newbie.find(params[:id])
end
......
end
私がテストを書くとき:
require 'spec_helper'
describe "Newbie pages" do
subject { page }
describe "profile page" do
let(:newbie) { FactoryGirl.create(:newbie) }
before { visit newbie_path(newbie)}
it { should have_selector('h1', text: newbie.name) }
it { should have_selector('title', text: newbie.name) }
end
end
をそれは常に失敗は言う:
1) Newbie pages profile page
Failure/Error: before { visit newbie_path(newbie)}
NoMethodError:
undefined method `newbie_path' for # <RSpec::Core::ExampleGroup::Nested_2::Nested_2:0x007f97f7f33068>
# ./spec/requests/newbie_pages_spec.rb:16:in `block (3 levels) in <top (required)>'
2) Newbie pages profile page
Failure/Error: before { visit newbie_path(newbie)}
NoMethodError:undefined method `newbie_path' for
私はリソースと思う:newbiesはnewbie_pathのようなヘルパーメソッドを作成しますが、なぜそれは未定義メソッドと呼ばれますか?
おかげで初心者のためのリソース
を使用する必要があります。レーキ経由で – sameera207
うわー、問題解決。 Newbiesはnewbieの代わりにnewbyの複数であると思うレールのように見える..... newby_path works ...覚えてくれてありがとう – alexZ