gpt4 book ai didi

javascript - 使用选择下拉列表使用 ruby​​ on Rails 参数更新 link_to

转载 作者:行者123 更新时间:2023-12-03 06:38:51 25 4
gpt4 key购买 nike

我的新学校计划路径需要传递给它的学校来指示哪所学校正在获得新计划。如果没有这样的学校可以通过,我添加了一个下拉菜单,其中包含所有可用的学校,以便人们可以选择他们想要添加类(class)的学校。选择此选项时,会触发一个 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,然后独立于浏览器中的 Ruby 代码执行。当 Rails 在模板中渲染路径时,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>

关于javascript - 使用选择下拉列表使用 ruby​​ on Rails 参数更新 link_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38062311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com