我正在執行主板。如何將嵌套的資源路由路由到另一個路由?
現在我有BoardsController和PostsController。
默認情況下,職位是由板嵌套。
我想用
所以我做了這個相同的PostsController中route.rb
resources :notice, :controller => "posts", :board_id => 1
resources :faq, :controller => "posts", :board_id => 2
resources :qna, :controller => "posts", :board_id => 3
所有董事的職位列表有其特殊的路線起初,它似乎工作。但是我意識到了一個問題。 ,因爲我在這些資源中使用了相同的'PostsController'。做控制器的動作
一樣,
posts_controller時
相關的路徑代碼相同
def create @post = Board.find(params[:board_id]).posts.build(params[:post])
if @post.save
redirect_to board_posts_path(@post.board_id)
else
render 'new'
end
end
,當我去到本地主機:3000 /通知/新的,它工作正常
但是當我提交了新的職位,控制器重定向到本地主機:3000 /板/ 1 /職位/
因爲redirect_to board_posts_path(@post.board_id)
這不是我想要的。
我能勝任這個使用if語句,但似乎凌亂。
有沒有適當的解決方案呢?
要知道,一個發送方法也許能夠完全暴露您的課程,並可以通過提交任何board_id的簡單獲取請求進行調用。或類方法。 – dennis