2014-09-02 4 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

+0

Да, они появляются внизу – sixty4bit

ответ

0

Попытка использовать шоу блок не показывают действия в контроллере: 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, но я хочу передать ему дополнительные переменные экземпляра. Обычно я делаю это, объявляя переменные экземпляра в действии show. Я думал, что именно те документы, которые я связал в OP, объясняли, как это сделать, но он не работает. – sixty4bit

+0

job.comments не работает? Вам не нужна переменная экземпляра .. вы можете достигнуть записи через ссылку задания в блоке show со всеми связанными записями. – nistvan