我正在构建一个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&user=71">set done</a>
我做错了什么?
答案 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中拥有用户数据,我可以看到确认框!