在运行时修改Ruby on Rails中的link_to

Modifying link_to in Ruby on Rails at run time

本文关键字:中的 link to Rails on 运行时 修改 Ruby      更新时间:2023-09-26

我有一个下拉菜单,我用数据库中的值填充如下方式。

select(:user, i, User.all.where(:role => 'member').collect {|u| [u.email, u.id]})

i是一个变量,我一直在增加,因为这是在循环中。我遍历一个列表,每一行都有这个下拉框。(我使用变量I为每个选择框生成一个惟一的Id)。

对于每一行,我有一个名为checkout的链接。在点击结帐我想要一个弹出框(数据确认),我是否要继续从下拉菜单中选择的用户结帐。如果用户按下yes,它必须转到我指定的链接。但是,我无法获得所选下拉菜单的值。我认为这是由于javascript和ruby的混合,这可能不是一个好主意。接下来最好的方法是什么?

我的结帐链接如下:

<%= link_to "Checkout",book ,data: { confirm:{'Are you sure'}} %>

我知道如何使用Javascript获得所选下拉菜单的值,但是我无法找到一种方法来修改link_to字段中的值。(我使用的是rails 4.2.4)

我有一个艰难的时间解释你的问题,但不是一个选择字段和一个链接,我认为你可能想做一个这样的表单:

<%= form_tag book_path %>
  <%= select_tag "user", options_for_select(User.where(role: 'member').collect{ |u| [u.email, u.id] }), id: i %>
  <%= submit_tag 'Checkout', confirm: 'Are you sure?'
<% end %>

我不确定你的循环在哪里,所以你可能需要调整代码,但我认为这是你想要的要点。