2015-09-25 16 views
0

我有一个下拉菜单,我用以下方式填充来自数据库的值。在运行时修改Ruby on Rails中的link_to

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

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

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

我结账环节是通过以下方式:

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

我知道如何使用Javascript下拉菜单所选放下的价值,但我不能够找到一种方法来修改值link_to字段。 (我用的滑轨4.2.4)

回答

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

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

+0

这会传递选定的电子邮件ID作为参数? – user1692342

+0

不是电子邮件,但用户的ID将在'params [:user]' –