我必須在這裏做一些愚蠢的事情。我使用rails 3.2.19和activeadmin 0.6.0。基本上,我試圖通過側欄通過belongs_to關聯進行導航。我已加載我的文字夾具數據庫,並可以通過協會在軌道控制檯,即向下鑽取:belongs_to on activerecord呈現爲未找到
2.1.1 :004 > Employee.first.blogposts.first
Employee Load (0.1ms) SELECT "employees".* FROM "employees" LIMIT 1
Blogpost Load (0.1ms) SELECT "blogposts".* FROM "blogposts" WHERE "blogposts"."employee_id" = 615722309 LIMIT 1
=> #<Blogpost id: 298486374, title: "Mine too", body: "Can we try markdown?", employee_id: 615722309, created_at: "2014-07-25 03:27:14", updated_at: "2014-07-25 03:27:14">
2.1.1 :005 >
我的模型協會是沒有任何幻想。基本上可以這樣簡單:
class Blogpost < ActiveRecord::Base
belongs_to :employee
end
class Employee < ActiveRecord::Base
has_many :blogposts
end
而且與我的活動管理資源一樣。我基於文檔建立了這些。
ActiveAdmin.register Employee do
sidebar "Details", only: [:show, :edit] do
ul do
li link_to("Blogposts", admin_employee_blogposts_path(employee))
end
end
end
ActiveAdmin.register Blogpost do
belongs_to :employee
end
我也可以看到,當我做耙路線
admin_employee_blogposts GET /admin/employees/:employee_id/blogposts(.:format) admin/blogposts#index
員工頁面(在員工資源定義的一個)鏈接指定的路線呈現沒有錯誤,但是當我點擊但我得到:
NoMethodError在管理:: BlogpostsController#指數 未定義的方法`發現」的零:NilClass 參數: { 「僱員標識」=> 「615722309」}
在瀏覽器中指定的網址:
http://localhost:3000/admin/employees/615722309/blogposts
有誰知道如何解決呢?我確信所討論的特定員工ID具有博客帖子,正如我使用rails控制檯演示的那樣。任何人可以提供的幫助將不勝感激。
謝謝
丹沙利文
你能張貼你的'你的控制器的index'方法? – Pavan
嗨,Pavan感謝您的回覆。我實際上沒有我的控制器的索引方法。實際上我甚至沒有一個存在於/ admin目錄之外的控制器(應用程序控制器除外)。我只爲員工和博客創建了模型。員工管理資源頁面呈現良好,沒有控制器。如果你指的是Activeadmin.register Employee do代碼塊的活動管理員,我發佈的是完整的完整內容。再次感謝你的幫助。 – dps
我的意思是你的'Admin :: BlogpostsController'的'index action'.Do you have it right。 – Pavan