【问题标题】:Nested resource while using Devise使用设计时的嵌套资源
【发布时间】:2014-07-03 16:58:40
【问题描述】:

我正在为我的用户模型使用设计。我使用设计生成器生成了这个模型。所有路线都可以正常工作:

  devise_for :users 

现在,我添加了属于 User 的 Farm 模型。在我的农场模型中,我有:

  belongs_to:user

在我的用户模型中,我有:

  has_one:farm

另外,在我的农场迁移中,我有:

  t.references:user

所以,据我所知,所有关联都是有序的。当我把它放在我的路线中时出现了问题:

   resources :users do
    resource :farms
   end

突然之间,无论我尝试哪种路线,我都会:

   uninitialized constant UsersController

甚至是登录、唱歌等的路线。以前有效的路线。我错过了什么?

【问题讨论】:

  • 抱歉,没有及时找到。最好的问候。
  • 好的,现在设计路线工作了。但是当我尝试访问 users/1/farms/new 时,我仍然遇到同样的错误。似乎无法识别设计用户控制器。我现在如何访问农场视图?
  • 你重命名了 devise_for 吗?您需要创建自己的名为 users_controller 的控制器
  • 我已经成功克服了这个错误。我应该能够通过 new_user_farm_path(current_user) 访问农场视图。但我得到了:#:0x26e54b0> 的未定义方法`farms_path'

标签: ruby-on-rails devise routing


【解决方案1】:

你的表格应该是

<%= form_for([@user, @farm]) do |f| %>

正确嵌套。

猜你喜欢
  • 1970-01-01
  • 2015-02-27
  • 1970-01-01
  • 2021-09-02
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
  • 2019-07-07
  • 1970-01-01
相关资源
最近更新 更多