私はばかかもしれませんが、Rails は次のような URL を生成するための気の利いた構文を提供しています。
url_for([user, comment]) # => /users/1/comment/1
渡す:edit
と、次のようなものを作成できます。
url_for([:edit, user, comment]) # => /users/1/comment/1/edit
しかし、次のことを行う方法はありますか?
url_for([:new, user, comments]) # => NoMethodError: undefined method `new_user_comments_url'
更新:詳細情報を追加しました。
私のroutes.rb:
resources :users do
resources :comments
end
resources :posts do
resources :comments
end
user_comments_url
ここでの問題は、ユーザー コメントと投稿コメントの両方のビューを共有しているため、Rails の自動生成 URL ヘルパー ( ) を使用できないことです。
私の問題には2つの回避策があります(ただし、「Rails」のように感じる人はいません):
ビューにロジックを追加します (if 条件など)。
のような独自の URL ヘルパーを定義します
new_parent_comment(user_or_blog)
。