จะใช้ Searchable plugin ใน Controller Template ได้อย่างไร

28 views
Skip to first unread message

asuwannarat

unread,
Jun 26, 2011, 11:26:23 PM6/26/11
to กลุ่มผู้ใช้เกรลส์ในไทย
สวัสดีครับ ผมใช้ grails มาได้สักระยะหนึ่งแล้ว
แต่วันนี้มีปัญหาที่หาคำตอบที่ไหนก็ไม่ได้ ก็เลยมาขอความอนุเคราะห์จาก
guru ทุกๆ ท่าน กล่าวคือ ผมอยากจะติดตั้ง searchable เข้าไปที่
controller ทุกตัวที่สร้างโดยวิธี create-controller ผมก็เลยสร้าง
template ของ controller ดังนี้

@artifact.package@class @artifact.name@ {
def scaffold = true

def search = {
def resultMap = @artifact.name@.search(params.q, params)
render(view:'list',
model:[
searchInstanceList:resultsMap.results,
searchInstanceTotal:@artifact.name@.countHits(params.q)
]
)
}
}

เมื่อผมสั่ง grails create-controller MyApp ได้ผลลัพธ์เป็น

package app

class MyAppController {
def scaffold = true

def search = {
def resultMap = MyAppController.search(params.q, params)
render(view:'list',
model:[
searchInstanceList:resultsMap.results,
searchInstanceTotal:MyAppController.countHits(params.q)
]
)
}
}

จนปัญญาตรงที่ผมรู้จักแค่ @artifact.package@ กับ @artifact.name@
ซึ่งดูจากใน grails เดิมแล้วเหมือนว่า @artifact.name@ จะให้เพียงชื่อ
domain class แต่ที่ผมได้มันเติม Controller
ต่อท้ายเข้าไปด้วยซึ่งผมไม่ต้องการ

อยากถามว่า
1 มี @artifact ตัวอื่นใช้อีกไหมครับ ดูได้จาก link ไหน
2 ถ้าไม่มีตัวแทน เราจะสามารถตัด Controller ออกจาก Domain Name
ได้อย่างไร

ขอบคุณครับ

Reply all
Reply to author
Forward
0 new messages