2014-09-02 41 views
0

在ActiveAdmin中我試圖編輯show視圖中的實例變量。我曾嘗試與每ActiveAdmin docs下面的代碼來做到這一點:ActiveAdmin修改現有控制器操作

#admin/job.rb 
ActiveAdmin.register Job do 
... 
controller do 
    def show 
     @job = Job.find(params[:id]) 
     @comment = Comment.new 
     @comments = @job.comments 
    end 
end 
... 

這導致nilClass錯誤,當我嘗試使用這些變量在ActiveAdmin show,因爲他們並沒有真正定義。我誤解了控制器操作應該如何編輯?

+0

隨着'@ comments'變量做你想要出現在顯示頁面上的評論? – nistvan 2014-09-02 15:26:54

+0

是的,他們出現在底部 – sixty4bit 2014-09-02 15:42:26

回答

0

嘗試使用show塊不是show動作控制器: https://github.com/activeadmin/activeadmin/blob/master/docs/6-show-pages.md#customize-the-show-page

ActiveAdmin.register Job do 
    show do |job| 
    attributes_table do 
     row :attributes_of_job 
    end 
    #you can also reach the comments like this: job.comments 
    active_admin_comments 
    end 
end 
+0

我已經有一個顯示塊,但我想餵給額外的實例變量。通常我會通過在控制器的show動作中聲明實例變量來做到這一點。我以爲這是我在OP鏈接的文檔解釋如何做,但它不工作 – sixty4bit 2014-09-08 15:49:33

+0

job.comments不工作?您不需要實例變量..您可以通過show block中的作業參考和所有關聯的記錄到達記錄。 – nistvan 2014-09-08 17:19:48