Activeadmin: ์‚ฌ์šฉ์ž ์ง€์ • ์ฟผ๋ฆฌ๋กœ ๋ชจ๋ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2013๋…„ 02์›” 06์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: activeadmin/activeadmin

์•ˆ๋…•ํ•˜์‹ญ๋‹ˆ๊นŒ,

๋‹ค์Œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๊ณ  ํ•  ๋•Œ 'dismiss'-ํ•„๋“œ๊ฐ€ 'FALSE'์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ ๊นŒ์š”? 'default_scope' ์—†์ด ๊ฐ€๋Šฅํ•œ๊ฐ€์š”?
๋‚ด ์ฝ”๋“œ ์˜ˆ:

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'ะŸะพะปัŒะทะพะฒะฐั‚ะตะปั', :user
      column 'ะ—ะฐะฐะฟั€ัƒะฒะธะป ั‡ะปะตะฝ ะบะปัƒะฑะฐ', :member
      column :dismiss
      default_actions
  end
end

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

Tnx. ํ•ด๊ฒฐ์ฑ…:

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'ะŸะพะปัŒะทะพะฒะฐั‚ะตะปั', :user
      column 'ะ—ะฐะฐะฟั€ัƒะฒะธะป ั‡ะปะตะฝ ะบะปัƒะฑะฐ', :member
      default_actions
  end
  controller do
    def scoped_collection
      Approval.where(dismiss: false)
    end
  end
end

๋ชจ๋“  3 ๋Œ“๊ธ€

๋ฆฌ์†Œ์Šค ์ปจํŠธ๋กค๋Ÿฌ์—์„œ scoped_collection ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ง€์ • ์ฟผ๋ฆฌ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'ะŸะพะปัŒะทะพะฒะฐั‚ะตะปั', :user
      column 'ะ—ะฐะฐะฟั€ัƒะฒะธะป ั‡ะปะตะฝ ะบะปัƒะฑะฐ', :member
      column :dismiss
      default_actions
  end

  def scoped_collection
    Approval.where(dismiss: false) # this could be   **Approval.dismissed**
  end
end

๋‚˜๋Š” ๋‹น์‹ ์ด ์“ด ๋ฐฉ์‹์œผ๋กœ scoped_collection์„ ์žฌ์ •์˜ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋Š” ์—ฌ์ „ํžˆ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ˜•์„ฑ๋˜๋Š” ์ฟผ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

where Approval Load (0.2ms) ย SELECT "approvals".* FROM "approvals" ORDER BY "approvals"."id" desc LIMIT 30 OFFSET 0

Tnx. ํ•ด๊ฒฐ์ฑ…:

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'ะŸะพะปัŒะทะพะฒะฐั‚ะตะปั', :user
      column 'ะ—ะฐะฐะฟั€ัƒะฒะธะป ั‡ะปะตะฝ ะบะปัƒะฑะฐ', :member
      default_actions
  end
  controller do
    def scoped_collection
      Approval.where(dismiss: false)
    end
  end
end
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰