【发布时间】:2015-07-29 21:07:45
【问题描述】:
我正在建立一个论坛,并且正在设置线程并且查看没有问题。在尝试在线程中创建 cmets 的过程中,我似乎对如何设置路由感到困惑。通常我知道人们有嵌套路线:
resources :threads do
resources :comments
end
虽然不同之处在于我的路线不使用资源方法,因为我单独设置了它们:
get '/thread' => 'threads#discussion'
post '/create_thread' => 'threads#create'
get '/create_thread' => 'threads#new', :as => :new_thread
get '/threads/:id' => 'threads#show', :as => :thread_show
get 'threads/edit/:id' => 'threads#edit', :as => :edit_thread
put '/threads/edit/:id' => 'threads#update', :as => :update_thread
delete 'threads/:id' => 'threads#destroy'
Thread/threads 替换了实际位置名称
我有没有办法在每个线程中为 cmets 放置嵌套路由?我已经为每个模型(用户、线程、评论)提供了正确的关联,并将 user_id、thread_id 添加到评论模型中。
如果您对为 cmets 设置路线的正确方法有任何了解或知道一篇文章,请在此处列出。
非常感谢!
编辑
这些 cmets 将直接放置在话题页面上,而不是新页面上。
乔
【问题讨论】:
-
使用资源丰富的路线。没有理由不这样做,这样可以省去很多麻烦。
-
我只是不确定资源丰富的路线是否类似于脚手架。这是一种选择,但始终是最好的选择?
-
有时您可能需要手动定义路线,例如
get除了您资源丰富的路线外,您发布的所有路线都直接对应于resources会自动为您定义的路线,因此这绝对是您的最佳选择。 -
好的,谢谢-如果您想在答案中发帖,我会给您积分。再次感谢。
-
是的,这绝对有可能。你读过关于路由的 Rails 指南吗? guides.rubyonrails.org/…
标签: ruby-on-rails ruby multithreading ruby-on-rails-4 routes