2011-09-21 10 views
-3

Grails 컨트롤러 : Domain.findByName(params.name)이 아닌 Domain.findByName("X")과 같은 동적 방법을 어떻게 호출 할 수 있습니까?변수 매개 변수가있는 Grails 동적 메서드 호출

+0

단지 params.name으로 작성할 수 있습니다. – sbglasius

+0

매개 변수에 올바른 값이 포함되어 있는지 확인하십시오. 예 : println 매개 변수를 컨트롤러의 첫 번째 명령문으로 사용하십시오. – hitty5

+1

이 질문은 명확하지 않습니다. 'Domain.findByName (params.name)'이'assert params.name == "X"'인 경우'Domain.findByName ("X")'와 같은 기능을하지 않는 이유는 무엇입니까? 자세한 정보를 제공해주십시오. –

답변

1

일부 Grails Turorials을 확인하십시오.보다 구체적으로 grails 폼 태그가 어떻게 작동합니까? here! Grails의 힘을 누리기 위해 MVC 모델의 기본 흐름이 어떻게 작동하는지 이해해야합니다. 이 사실을 알기 위해 시간을들이 시거나 방금 길을 잃고 좌절했습니다.

예시에서 params.nameg:textField과 같은 입력 태그를 사용하여 양식 게시로 채워집니다. 코딩

특정 컨트롤러 당신이 뭔가를 할 수있는 전화 값이 PARAMS 포함 된 어떤 물체를보고 싶다면

....

class IceCreamController{ 

    def eatMoreIceCream = { 
     println("the params are ${params}"); //<-- prints a Map of the values to the stdout 

     if (!params.name){ 
      redirect(action:"showError",params:[message:"You have no name!"]) 
     }else{ 
      def iceCream = IceCream.findByName(params.name) 

      if (iceCream){ 
       redirect(action:"showIceCream",params:[id:iceCream.id]) 
      }else{ 
       redirect(action:"showError",params:[message:"no ice cream for name ${params.name}."]) 
      } 

     } 

    } 

} 

해피!

+0

답변 해 주셔서 감사합니다. params.name은 ../book/findAuthor?name="Odyssey와 같은 웹 호출에서 해당 값을 가져옵니다. findAuthor 메서드에서 bookControler가 ... book.findByName ("Odyssey")을 실행하면 작성자를 반환하지만 book.findByName (params.name)을 실행하는 경우에는 반환하지 않습니다! 나는 또한 책을 try.findByName ("$ params.name")! – ncaramolegos

+0

값이 무엇인지 확인하려면 println (params.name)을 사용하십시오. –

+0

나는 그것을했다. params.name에 예상 값이 있습니다! – ncaramolegos

관련 문제