0
新しい学校プログラムのパスには、どの学校が新しいプログラムを取得しているかを示すために、渡された学校が必要です。そのような学校がない場合は、すべての学校が利用できるようにドロップダウンを追加して、誰かがプログラムを追加する学校を選択できるようにします。これを選択すると、javascript関数がトリガされ、ボタンを学校の価値に戻すことはできますが、私が望むようには機能しません。ここでは、コードは次のとおりです。選択ドロップダウンメニューを使用してruby on railsパラメータでlink_toを更新する
<% if can? :create, @program %>
<%= link_to 'New Program', new_school_program_path(@new_program_school), class: 'btn btn-primary', id: 'new-program-no-school' %>
<%= select_tag(:menu_select, options_for_select(School.pluck(:name), School.all)) %>
<br/>
<% end %>
<script>
$('#menu_select').bind('change', function() {
var newLink = $('#menu_select').val();
$('#new-program-no-school').attr('href', '<%= new_school_program_path(newLink) %>');
});
</script>
これは働いていたが - ちょうどnewLinkにスペースを取り除くためにslugify機能を追加する必要がありました - 感謝を! (/ \^\ w \)を空白に置き換えます。 .replace(/ [^ \ w \ (/ \ - +/g、 ' - ')//複数の単語を単一の単語に置き換える - .replace(/^- +) /、 '')//トリム - テキストの先頭から .replace(/ - + $ /、 ''); //トリム - テキストの末尾から } ' –