繁体   English   中英

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

[英]Modifying link_to in Ruby on Rails at run time

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

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)

我在解释您的问题时遇到了麻烦,但是我认为您可能想制作一个如下形式的表格,而不是选择字段和链接:

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

我不确定您的循环在哪里,因此您可能必须为此调整代码,但这就是我想要的要点。

暂无
暂无

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

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