0

Rails アプリを中央のダッシュボードで動作させる方法がわかりません。基本的には、ユーザーがリストからコースをクリックすると、コースの詳細がダッシュボードに読み込まれるように機能させたいと考えています。ajax の部分はそれほど複雑ではありませんが、ajax が使用されていないときにパーシャルを読み込むのに少し苦労しています。@course != null の場合にパーシャルをロードするように、ビューにロジックを配置するだけでよいと思います。

ルートも少し難しいです。そこで、URL を次のようにしたかった: dashboard/student/:id/university/:id/course/:id

以下のように思いついたのですが、他に良い方法はありませんか? http://pastebin.com/keEmaznw

4

1 に答える 1

0

あなたの質問を理解するのは難しいです。詳細が不十分で、コードが不十分です。そうは言っても、 nil オブジェクトでパーシャルをロードすることに関して:

オブジェクトをパーシャルに渡すと、Rails が自動的にレンダリングを処理し、nil (Ruby の話では null ではなく) チェックは必要ありません。

= render @object

ルートに関しては、はい、より良い方法があります。通常、ルートを 2 レベル以上ネストしないようにする必要があります。これはテストにとって悪夢となり、非常に長いメソッド名を書くことになります:

edit_dashboard_student_university_course_path(@university, @course, @student)

ビューやテストでそれを書きたくないのです。考えてみてください、学生を編集したい場合、大学とコースもロードする必要がありますか?

于 2013-06-25T14:05:56.273 に答える