Grailsコントローラ: Domain.findByName(params.name)
のような動的メソッドを呼び出すには、どうすればDomain.findByName("X")
を呼び出すことができますか?変数パラメータを持つGrailsの動的メソッド呼び出し
答えて
Grails Turorialsを参照してください。より具体的には、grailsフォームタグがどのように動作するのですか。here! Grailsのパワーを楽しむために、MVCモデルの基本的な流れがどのように機能するのかを理解する必要があります。これを学ぶには時間をかけてください。そうしないと、ちょうど迷子になります。
例ではparams.name
はg: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}."])
}
}
}
}
ハッピー!
あなたの答えをありがとう。 params.nameは../book/findAuthor?name="OdysseyのようなWeb呼び出しからその値を取得します。 findAuthorメソッド内でbookControllerが... book.findByName( "Odyssey")を実行すると、authorを返しますが、book.findByName(params.name)を実行した場合は返しません!私はbook.findByName( "$ params.name")も試しました! – ncaramolegos
println(params.name)を実行して、値が何であるかを確認します。 –
私はそれをしました。 params.nameには期待値があります! – ncaramolegos
- 1. タイプ変数を持つメソッドを動的に呼び出す
- 2. 複数のパラメータを持つメソッドを呼び出す方法
- 3. 可変パラメータを持つC++呼び出しのlua関数
- 4. メソッド呼び出しと変数を持つNgClassの配列
- 5. Javascript変数をcreatelinkメソッド呼び出しに渡すGrails
- 6. C#reflections - 異なる型のパラメータを持つ呼び出しメソッド
- 7. mainメソッドからの可変パラメータを持つメソッドを呼び出す方法は?
- 8. JavaScriptの動的変数メソッド呼び出し
- 9. 異なるパラメータを持つJavaメソッド呼び出し
- 10. NSThreadの複数のパラメータを持つ1つのメソッドを呼び出す
- 11. 動的な名前を持つPHP関数呼び出し
- 12. パラメータを持つ別のクラスのメソッドを呼び出す
- 13. Grails 3外部メソッドの呼び出し
- 14. 動的メソッドの呼び出し?
- 15. JVMの動的メソッド呼び出しトレースログイン
- 16. OOPの動的メソッド呼び出し
- 17. Objective-Cの動的メソッド呼び出し
- 18. 動的パラメータを使用したTwig関数の呼び出し
- 19. DexClassLoader - パラメータを持つメソッドを呼び出す
- 20. パラメータを持つメソッドを呼び出す方法は?
- 21. JSF - パラメータ(tomcat6)を持つメソッドを呼び出す
- 22. Scala-Sparkパラメータ値を持つgroupbyとaggを動的に呼び出します。
- 23. パラメータとしてローカル変数を持つ匿名関数を呼び出す
- 24. 複数のパラメータを持つJQuery AJAX呼び出し
- 25. Twigのパラメータを持つ呼び出し関数
- 26. 静的変数を持つDLLでActivator.Createinstance(...)を呼び出す
- 27. FluentValidationで複数のパラメータを持つ関数を呼び出す
- 28. 複数のパラメータ値を持つテンプレート関数を呼び出す
- 29. インスタンスのみを持つクラスの静的メソッドを呼び出す
- 30. 毎回異なるパラメータを持つメソッドを呼び出すボタンを動的に作成します。
あなたはただparams.nameを書くことができます - thats it! – sbglasius
パラメータに正しい値が含まれていることを確認します。例えばあなたのコントローラの最初のステートメントとしてprintln paramsを実行します。 – hitty5
この質問は明確ではありません。 'Domain.findByName(params.name)'が 'assert params.name ==" X "'の場合、 'Domain.findByName(" X ")'と同じ働きをしないのはなぜですか?詳細をご記入ください。 –