Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActiveAdmin属于路由_Ruby On Rails_Activeadmin - Fatal编程技术网

Ruby on rails ActiveAdmin属于路由

Ruby on rails ActiveAdmin属于路由,ruby-on-rails,activeadmin,Ruby On Rails,Activeadmin,我已经用activeadmin gem创建了一个新的应用程序。我想用'bellings_to'方法创建两个嵌套资源,但我得到了一个错误 第一资源 ActiveAdmin.register Project do end 第二资源 ActiveAdmin.register Ticket do controller do belongs_to :project end end 尝试打开neped资源时出错 没有路线匹配[GET]“/admin/projects/1/

我已经用activeadmin gem创建了一个新的应用程序。我想用'bellings_to'方法创建两个嵌套资源,但我得到了一个错误

第一资源

ActiveAdmin.register Project do
end
第二资源

ActiveAdmin.register Ticket do
    controller do
        belongs_to :project
    end
end
尝试打开neped资源时出错

没有路线匹配[GET]“/admin/projects/1/tickets”


我不正确的地方是什么?

我相信您需要在这里做的是将
归属于:将
从控制器块投影到寄存器块(基本上是向上)。如果不起作用,我们可能需要查看模型定义。

替换

ActiveAdmin.register Ticket do
controller do
    belongs_to :project
end

我面临着一个非常类似的错误,这个线程帮助了我很多!我的模型定义是
不完整,我需要添加一个Has\u many关联。

首先,将
归属
声明移出控制器块。然后,子资源要求您指定“:parent_类”,因此对于您来说,它应该如下所示:

ActiveAdmin.register Ticket do
  belongs_to :project, :parent_class => Project
end

谢谢你的帮助。我将此代码移动到寄存器块中,但当我转到
/admin/projects/1/tickets
时,我发现另一个错误
ActiveAdmin::Resource::BelongsTo::TargetNotFound
我看到此错误
没有路径匹配[get]“/admin/projects/1/tickets”
你能发布项目和tickets模型吗(仅仅是定义关系的部分,我不需要业务逻辑)?根据这一点,这可能是关系如何定义的问题。第一个模型
类项目
,第二个
类Ticket
ActiveAdmin.register Ticket do
  belongs_to :project, :parent_class => Project
end