0

我对 Ruby 和 Rails 非常陌生,我正在尝试对使用 activescaffold 为记录生成显示、编辑和删除链接的页面进行修改。我遇到的问题是我正在查看的页面的链接是由 activescaffold 自动生成的,我只需要更改删除链接即可转到另一个页面,在该页面中我可以显示一条消息,上面写着“您正在删除”选项blah blah”,你确定要这样做吗?并给他们一个取消和确定按钮。

我此时的问题是我不确定在哪里寻找链接生成的位置,因此我无法定位新页面。

这是创建链接的代码

<table cellpadding="0" cellspacing="0">
<tr>
<td class="indicator-container">
  <%= loading_indicator_tag(:action => :record, :id => record.id) %>
</td>
<% active_scaffold_config.action_links.each :record do |link| -%>
  <% next if controller.respond_to? link.security_method and !controller.send(link.security_method) -%>
  <td>
  <% if record.class.statused? and record.disabled? -%>
      <%= link.action.to_sym == :enable ? render_action_link(link, url_options) : "" -%>
  <% else -%>
    <%= (record.authorized_for?(:action => link.crud_type) and link.action.to_sym != :enable) ? render_action_link(link, url_options) : "" -%>
  <% end -%>  
  </td>
<% end -%>

感谢您在此问题上提供的任何帮助。

4

1 回答 1

0

这个答案不是特定于 ActiveScaffold,但在 Rails 3.2 中,破坏链接生成为

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

这导致链接具有一个data-confirm属性,这听起来像你想要的。你能把它添加到你的 ActiveScaffold 视图中吗?

更新(轨道 2):

jQuery 支持该data-confirm属性(而不是原型,或者除了原型之外),因此如果您在 Rails 2 应用程序中使用 jQuery,它可能“正常工作”。否则,您可以直接在要确认的链接上添加 javascript。url_options参数 forrender_action_link看起来很有趣——也许它会接受任意的 html 属性(就像 Rails一样link_to),例如

 url_options = { :onclick => 'return confirm("Are you sure?")` } 
 render_action_link(link, url_options)
于 2012-11-28T16:31:55.147 回答