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

时间:2015-09-25 17:48:06

标签: javascript ruby-on-rails

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

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

我是一个变量,我继续递增,因为这是一个循环。我遍历一个列表,每行都有这个下拉框。 (我使用变量i,为每个选择框生成唯一的Id)。

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

我的结帐链接采用以下方式:

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

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

1 个答案:

答案 0 :(得分:0)

我很难解释你的问题,但是我觉得你可能想要制作一个这样的表格,而不是选择字段和链接:

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

我不确定你的循环在哪里,所以你必须为此调整代码,但这就是你想要的想法。