私は、私の理解ではcontacts
ための上記のルートは唯一:new
と:create
行動をサポートします、私はRails 4.0.x contact_us gemのルートアクションを指定されたアクションにルーティングする方法は?
resources :contacts, controller: 'contact_us', only: [:new, :create] do
root :to => 'contact_us#new'
end
をcontact_us宝石のバージョン0.5.4
を使用していますそして、指定されたコントローラーcontroller: 'contact_us'
でも根を持つ/
それは#new
アクションにリダイレクトされますが、私は私のブラウザでhttp://localhost:3000/contact-usを打ったとき、それは
を語ります私は2.0.0p481に3.2.19から4.0.13とルビーに古いレールのバージョンをアップグレードしたアクション「インデックス」はContactUsController
見つかりませんでした
不明アクション
私はそれが、このエラーがスローされます上記のコードでget
でmatch
を変更した場合のコードは、レール3.2.19と1.8.7ルビー
resources :contacts,
:controller => 'contact_us',
:only => [:new, :create]
match 'contact_us' => 'contact_us#new'
で罰金働いていた
「 `add_route /home/vagrant/.rvm/gems/ruby-2.0.0-p481/gems/actionpack-4.0.13/lib/action_dispatch/routing/route_set.rb:430:in:無効すでに使用中のルート名、「contact_us」 (例外ArgumentError)
あなたは
:as
オプションを使用して同じ名前 を持つ2つのルートを定義していること、またはすでにルートを上書きすることができる 同じでリソースによって定義されましたネーミング。後者の場合、あなたは 、ここで説明したようにresources
で作成したルートを制限することができます:あなたはレール3.2で行ったように
はい私はそれをしましたが、別のエラーを投げます。質問の更新を確認してください。 –
それはとても厄介です。私は新しい小さなテストプロジェクトを始めました。これは、ヒッチなしで働いた... – Albin
それはルートファイル全体ですか? – Albin