私はこれを持っていますconfig/routed.db
:
namespace :admin do
resources :users
resources :events
end
Railsが提供するスキャフォールディングを使用してモデルを生成User
し、次にRailsを使用してadmin / adminコントローラーを生成し、generate
すべてのユーザー関連のものをコントローラー/ビュー/ヘルパー内のadminサブディレクトリーに移動しました。はい、admin_
いくつかの場所に追加する必要があり、フォームの一部をに変更する必要がありform_for(@user)
ましたform_for([:admin, @user])
。
新しいユーザーを作成しようとすると(これはPOST
ユーザーデータの場合です)、次のエラーメッセージが表示されます。
undefined method `user_url' for #<Admin::UsersController:0x13f408e0>
アプリケーションレベルのトレースは、ここでエラーが発生したことを示しています。
app/controllers/admin/users_controller.rb:47:in `create'
このエラーが発生するコード行:
format.html { redirect_to @user, :notice => 'User was successfully created.' }
上記の行はrespond_to
ブロック内にあります。
だから、私は2つの質問があります:
- この問題を修正するにはどうすればよいですか?
- これを行うためのより賢く、より良い、レールの方法はありますか?
また、あなたが私がこれをより賢く、より良い、鉄道でやり直すことを提案した場合のボーナスポイント!まあ、とにかくやります!:D
アップデート
ああ、私は関連するかもしれない何かをほとんど忘れていました!また、Admin::UsersController
継承元を作成しましたAdmin::AdminController
(通常はから継承しますApplicationController
):
Admin::UsersController < Admin::AdminController