わかった。これは非常識です。
私は RoR を初めて使用しますが、これまで見てきたすべてのことが私の仕事の種類にとってより魅力的なものになっているので、RoR に深く入りたいと思っています。
しかし、私はRoR で非常に単純なことを達成できないようです。
これらのコントローラーが必要です:
/admin/blog/entries (index/show/edit/delete)
/admin/blog/categories (index/show/edit/delete)
/admin/blog/comments (index/show/edit/delete)
... and so on
そして、これらのモデル:
Blog::Entry (table: blog_entries)
Blog::Category (table: blog_categories)
Blog::Comments (table: blog_comments)
... and so on
さて、これを機能させるために、私はすでにかなりの惨めさを経験しました。私の最初の試みは、足場を生成することでした (私は 2.2.2 を使用しています)。足場を生成しましたが、モデルを移動してから、コントローラー内のモデルへの参照を修正する必要がありました (名前空間内の Ruby on Rails モデルがコントローラーに見つからない を参照)。
それはすでに大きな苦痛ですが、ちょっと、うまくいきました。form_for は機能せず、url ヘルパーの使用方法がわかりません (これらが何と呼ばれているのかわかりません... モデルに関連付けられたコントローラーに URL を返す、自動生成されたメソッドです)。彼らの名前が何なのかわかりません。私のモデルは Blog::Entries です。route.rb のマップのリソース メソッドをいじろうとしましたが、うまくいきませんでした。モデルで form_for を使用しようとすると、このエラーが発生します
undefined method `blog_entries_path' for #<ActionView::Base:0xb6848080>
今。これは本当にイライラします。このフレームワークを使用するためにコードの構成を完全に破壊するつもりはありません。また、この単純なタスクを達成する方法がわからない場合 (これについて少なくとも 5 時間調査してきました)、続行することはできません。
これを達成する方法についてのアイデアはありますか?
ありがとう
編集
ここに私のルートがあります:
admin_blog_entries GET /admin_blog_entries {:controller=>"admin_blog_entries", :action=>"index"}
formatted_admin_blog_entries GET /admin_blog_entries.:format {:controller=>"admin_blog_entries", :action=>"index"}
POST /admin_blog_entries {:controller=>"admin_blog_entries", :action=>"create"}
POST /admin_blog_entries.:format {:controller=>"admin_blog_entries", :action=>"create"}
new_admin_blog_entry GET /admin_blog_entries/new {:controller=>"admin_blog_entries", :action=>"new"}
formatted_new_admin_blog_entry GET /admin_blog_entries/new.:format {:controller=>"admin_blog_entries", :action=>"new"}
edit_admin_blog_entry GET /admin_blog_entries/:id/edit {:controller=>"admin_blog_entries", :action=>"edit"}
formatted_edit_admin_blog_entry GET /admin_blog_entries/:id/edit.:format {:controller=>"admin_blog_entries", :action=>"edit"}
admin_blog_entry GET /admin_blog_entries/:id {:controller=>"admin_blog_entries", :action=>"show"}
formatted_admin_blog_entry GET /admin_blog_entries/:id.:format {:controller=>"admin_blog_entries", :action=>"show"}
PUT /admin_blog_entries/:id {:controller=>"admin_blog_entries", :action=>"update"}
PUT /admin_blog_entries/:id.:format {:controller=>"admin_blog_entries", :action=>"update"}
DELETE /admin_blog_entries/:id {:controller=>"admin_blog_entries", :action=>"destroy"}
DELETE /admin_blog_entries/:id.:format {:controller=>"admin_blog_entries", :action=>"destroy"}
home / {:action=>"index", :controller=>"index"}
/:controller/:action/:id
/:controller/:action/:id.:format
それは正しくないようです。これが私のroutes.rbです(コメントは削除されました):
ActionController::Routing::Routes.draw do |map|
map.resources :admin_blog_entries
map.home '', :controller => 'index'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end