0
この質問は、hereの続きです。ビューからコントローラへのGrailsロジックの移動
以下のコードは私の意見の1つで、正常に動作しますが、このコードをコントローラに移動するのは難しいです。私のパッケージとクラスが以下のコードから明らかでない場合は、前の質問を見て、どのように配置されているかを見てください。
<g:set var="roleAdmin" value='${org.me.example.userrole.Role.findByAuthority("ROLE_ADMIN")}' />
<g:set var="roleOfficeProfessional" value='${org.me.example.userrole.Role.findByAuthority("ROLE_OFFICE_PROFESSIONAL")}' />
<g:set var="roleDriver" value='${org.me.example.userrole.Role.findByAuthority("ROLE_DRIVER")}' />
<g:select name="loggedBy.id" from="${org.me.example.userrole.UserRole.findAllByRoleInList([roleAdmin, roleOfficeProfessional, roleDriver]).user}" optionKey="id" value="${loadInstance?.loggedBy?.id}" />
それは私の一部の基本的な誤解かもしれないが、私は私が私の見解で動作するように私のコントローラで行われている方法のいずれかを、Grailsのが作成した唯一の方法(すなわちlist
、create
を取得することはできません、delete
,edit
など)が動作します。いかなる助言/勧告も役立つでしょう。
グレッグの答えはスポット上にあります。私が追加する唯一の明確化は、[loadInstance:loadInstance、users:user]がコントローラからビューにデータを渡す際の重要な部分であることに注意することです。コード行は、マップをビューに戻す、または渡すことを表します。マップ内の項目の内容をgspの$ {}テンプレート構文で使用できるようにします。申し訳ありませんが、これが繰り返しか過度に単純化された説明ですが、そのように見えるのは混乱が起きた場所だったようです。 –
@Bill Pfeifferいいえ、説明は大歓迎です。私は暇な時間にGrails/Groovyを学び、2ヶ月の休憩をとり、たくさんのことを忘れました。グレッグの答えは私に顔を揃えました。私のビューの 'optionKey =" id "引数はエラーを生成し、' value'引数が実際に何をしているのかまだ少しはっきりしています...しかし、私はそれらの両方を読むことができます。私の唯一の他の問題は、ビューからコントローラーに引数を渡すにはどうすればいいですか?私はコントローラの '[key:value]'部分を理解していますが、 'from =" $ {users} "'を使うときにコントローラに引数を渡すにはどうしたらいいですか? – ubiquibacon
SELECTを生成するために、ビューからコントローラに何かを渡す必要があるのはなぜですか? – Gregg