์๋ ํ์ญ๋๊น,
๋ค์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ชจ๋ธ ๋ ์ฝ๋๋ฅผ ์ถ๋ ฅํ๋ ค๊ณ ํ ๋ 'dismiss'-ํ๋๊ฐ 'FALSE'์ธ ๋ ์ฝ๋๋ฅผ ์ ์ธํ๊ณ ์ถ์ต๋๋ค. ์ด๋ป๊ฒ ํ๋ฉด ๋ ๊น์? 'default_scope' ์์ด ๊ฐ๋ฅํ๊ฐ์?
๋ด ์ฝ๋ ์:
ActiveAdmin.register Approval do
index do
column :id
column 'ะะพะปัะทะพะฒะฐัะตะปั', :user
column 'ะะฐะฐะฟััะฒะธะป ัะปะตะฝ ะบะปัะฑะฐ', :member
column :dismiss
default_actions
end
end
๋ฆฌ์์ค ์ปจํธ๋กค๋ฌ์์ 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
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Tnx. ํด๊ฒฐ์ฑ :