1 つのビューをレンダリングする 2 つのコントローラーがあり、コントローラーに応じてビューを変更する必要があります。私が念頭に置いているのは、呼び出されたコントローラーに応じて設定できる JS var をビューに含めることです。
説明をもう少し徹底するには、var 内に設定された文字列値を取得して、次のように使用できるようにする必要があります (application.js の JS の一部で)。
if (value_i_set_in_controller == "controller1") {
// do something
} else {
// do something else
}
ヒントはありますか?知るまで、私はRailsをかなり簡単に見つけてきました。
編集
もう少し説明する必要があります。
私のapplication.jsには、オブジェクトをレンダリングするjsがいくつかあります。
$('#calendar').fullCalendar({
...
// a future calendar might have many sources.
eventSources: [{
url: '/DYNAMIC_PATH',
color: 'yellow',
textColor: 'black',
ignoreTimezone: true
}],
これを使用してカレンダービューを作成するだけで、これをレンダリングします。
<div id='calendar'></div>
私はカレンダービューでこのようなことをすることを考えていました:
<div id='calendar'></div>
<script type="text/javascript">
var calendar_source = <% @dyn_path %>;
</script>
明らかに機能しません...これで、calendar_source varを読み取ることができ、jsでそれを使用して、eventSourcesを適切に設定できます。