2015-09-25 18 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]' –