Ruby on Rails为link_to添加确认

时间:2016-06-08 14:43:41

标签: ruby-on-rails ruby

我正在构建一个Ruby on Rails应用程序,我已经生成了一些脚手架。 我想在我创建的自定义链接中添加一个确认框(比如删除元素时弹出的确认框)。

元素删除的语法如下:

  <td><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %></td>

这是我的自定义链接:

   <td><%= link_to 'set done', :controller => 'users', :action => 'set_donation_done', :user => user, data: { confirm: 'Are you sure?' } %><td>

问题是我的自定义链接上的确认框没有出现。如果我检查元素,我会看到以下html代码:

<a href="/set_donation_done?data%5Bconfirm%5D=Are+you+sure%3F&amp;user=71">set done</a>

我做错了什么?

3 个答案:

答案 0 :(得分:1)

试试这个:

<%= link_to 'set done', { controller: 'users', action: 'set_donation_done' }, user: user, data: { confirm: 'Are you sure?' } %>

记住:

link_to(body, url_hash, html_hash)

http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to

答案 1 :(得分:0)

您不需要控制器操作哈希。只需显示HTML哈希开始的时间如下:  <td><%= link_to 'Destroy', user, method: :delete,{ data: { confirm: 'Are you sure?' }} %></td>

答案 2 :(得分:0)

找到解决方案:

 <td><%= link_to 'set done', {:controller => 'users', :action => 'set_donation_done', :user => user}, data: { confirm: 'Are you sure?'}  %><td>

使用此公式,我在params中拥有用户数据,我可以看到确认框!