ActiveAdmin의 actions 버튼에 대한 item

9022 단어 Railsactiveadmin

개시하다


ActiveAdmin은 화면 관리를 간단하게 수행할 수 있는 CRUD의 Gem입니다.
ActiveAdmin은 편리하지만 작은 곳으로 괴롭힘을 당할 때 자주 막히기 때문에 어떻게 설치하는 것이 좋습니다.
이번에는 조건에 따라 나타난 액션스여기 기사.를 참고로 실시하고 싶습니다.
실상에서 아래의 item이라는 기술이 무엇을 하는지 잘 몰라서 조사했습니다.
app/admin/users.rb
actions defaults: false do |user|
      item I18n.t('active_admin.view'), admin_user_path(user), class: 'view_link member_link'
      item I18n.t('active_admin.edit'), edit_admin_user_path(user), class: 'edit_link member_link'
      item I18n.t('active_admin.delete'), admin_user_path(user), class: 'delete_link member_link', method: :delete, data: { confirm: I18n.t('active_admin.delete_confirmation') } unless user.admin?
    end

뭐 해요?


item을 제거하면 Syntax Error가 됩니다.
app/admin/users.rb
actions defaults: false do |user|
      I18n.t('active_admin.view'), admin_user_path(user), class: 'view_link member_link'
      item I18n.t('active_admin.edit'), edit_admin_user_path(user), class: 'edit_link member_link'
      item I18n.t('active_admin.delete'), admin_user_path(user), class: 'delete_link member_link', method: :delete, data: { confirm: I18n.t('active_admin.delete_confirmation') } unless user.admin?
    end

item이 필요하다는 것을 알았지만pry로 item의 내용이 어떤지 봅시다.
app/admin/users.rb
actions defaults: false do |user|
      binding.pry
      item I18n.t('active_admin.view'), admin_user_path(user), class: 'view_link member_link'
      item I18n.t('active_admin.edit'), edit_admin_user_path(user), class: 'edit_link member_link'
      item I18n.t('active_admin.delete'), admin_user_path(user), class: 'delete_link member_link', method: :delete if user.id == 1
    end

그렇군요. item이 a 라벨을 만들고 있다는 것을 알았습니다.

아이템으로 보자.


item 매개 변수를 줄 수 있습니다.
app/admin/users.rb
 actions defaults: false do |user|
   item('hoge')
 end
위에서 설명한 대로 다음 동작이 생성됩니다.


hoge라는 이름으로 링크가 생성되었습니다. /admin/users또한 두 번째 매개 변수를 item에 맡길 수도 있다.
app/admin/users.rb
actions defaults: false do |user|
  item('hoge', '/admin/hoge')
end

여기hoge의 이름으로 /admin/hoge에 링크가 생성됩니다.

최후


맞춤형 액션스를 발견할 때 매개 변수를 item에 전달하면 다양한 링크를 생성할 수 있습니다.
액션스에 대한 소스 코드는 여기.입니다. 궁금하신 분들은 참고하세요.

참고 자료

  • GitHub ActiveAdmin
  • ActiveAdmin
  • ActiveAdmin의 actions 버튼 사용자 정의
  • 좋은 웹페이지 즐겨찾기