なぜそれが起こるのか、私にはまったくわかりません。
これが私のルートです
resources :users do
resources :bookmarks
end
コントローラ
# bookmarks_controller
def edit
# this returns perfectly data in the edit view
@bookmark = current_user.bookmarks.find(params[:id])
end
これがビューです
<%= form_for @bookmark do |b| %>
<% end %>
ユーザー内にブックマークリソースをネストするとすべてが台無しになるため、エラーが発生します
未定義のメソッド「bookmark_path」
次に、フォームを次のように変更します
<%= form_for user_bookmark_path(current_user, @bookmark) do |b| %>
エラーはなくなりましたが、テキスト フィールド フォームにはそのようなデータはなく、フォーム アクションは/users/[user_id]/bookmarks/[bookmark_id]/edit です。
レーキルート情報
user_bookmarks GET /users/:user_id/bookmarks(.:format) bookmarks#index
POST /users/:user_id/bookmarks(.:format) bookmarks#create
new_user_bookmark GET /users/:user_id/bookmarks/new(.:format) bookmarks#new
edit_user_bookmark GET /users/:user_id/bookmarks/:id/edit(.:format) bookmarks#edit
user_bookmark GET /users/:user_id/bookmarks/:id(.:format) bookmarks#show
PUT /users/:user_id/bookmarks/:id(.:format) bookmarks#update
DELETE /users/:user_id/bookmarks/:id(.:format) bookmarks#destroy
それを修正する方法はありますか?ありがとう