私はSTIモデルを持ち、派生モデルのベースビューを再利用したいと考えています。 たとえば、教師<人がいる場合は、教師の視野に自分の視野が入るようにしたいと思います。Rails STIおよびビュー再利用
これを達成する方法はありますか?
私はSTIモデルを持ち、派生モデルのベースビューを再利用したいと考えています。 たとえば、教師<人がいる場合は、教師の視野に自分の視野が入るようにしたいと思います。Rails STIおよびビュー再利用
これを達成する方法はありますか?
あなたの質問を理解していれば、デフォルトで利用可能です。 STIを使用する場合、各派生モデルは基本クラスのすべてのフィールドにアクセスできます。 (任意のテーブル上のフィールド)
部分をレンダリングする場合たとえば、あなたは、単に通常のように、オブジェクトを渡すことができます。
= render :partial => 'person', :object => @teacher
上記のコードは、いくつかの方法で行うことができますが、私はちょうどよ説明しようとしている。
教師と人員がいる場合は、教師の意見の中にいる人からビュー(部分、テンプレート)をレンダリングできます。あなたは教師の内側の線の下に書くことができます
例
あなたは_teacher.html.erb
と_person.html.erb
パーシャルを持っている場合は、教師1の内側部分の人をrender
ことができるように右の部分を使用し
= render :partial => 'persons/<PARTIAL NAME>'
= render :template => 'persons/<TEMPLATE>'
= render :file => 'persons/new'
render
を見てオブジェクトでrender
を呼び出すと、右部分がレンダリングされます。
# @aldo is a Person, this will render _person.html.erb
render @aldo
# @mr_brown si a Teacher, this will render _teacher.html.erb
render @mr_brown
教師は、その場合には両方の情報を持つ人を部分的にレンダリングするためです。
この方法を使用するときにレイアウトを制御する方法はありますか?これを行うと、各項目の最後に編集/削除リンクが表示され、派生フィールドを追加する機会はありません(冒頭に配置したくないと仮定して)。 – user1080584
申し訳ありませんが、あなたは何を意味するのかよく分かりません。あなたは2つの部分的な部分を持っていて、その人を先生のものにしますか?人のフィールドは表示されていませんか? –
この方法を使用するときにレイアウトを制御する方法はありますか?これを行うと、各項目の最後に編集/削除リンクが表示され、派生フィールドを追加する機会はありません(冒頭に配置したくないと仮定して)。 – user1080584
これを行うにはいくつかの異なる方法があります。私はビューロジックのファンではありませんが、人の種類をチェックするif文を使用できます: "person.kind_of?(Teacher)" –