繁体   English   中英

使用选择下拉列表使用ruby on rails参数更新link_to

[英]Updating link_to with a ruby on rails parameter using a select dropdown

我的新学校课程路径要求通过一所学校,以表明哪个学校正在获得新课程。 如果没有要通过的学校,我添加了一个下拉列表,其中列出了所有可用的学校,以便某人可以选择要在其中添加程序的学校。选择此选项后,将触发javascript函数来调整该学校的href按钮,以达到学校的价值,但是却无法如我所愿。 这是代码:

 <% 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> 

这里的问题是Rails呈现了JavaScript,然后该JavaScript会独立于浏览器中的Ruby代码执行。 newLink变量在模板中呈现路径时,它对Rails不可用。

您可以这样做来解决:

<script>
  $('#menu_select').bind('change', function() {
    var templatePath = '<%= new_school_program_path("school_id") %>'
    var newLink = $('#menu_select').val();
    $('#new-program-no-school').attr('href', templatePath.replace("school_id", newLink));
  });
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM