我是Ruby和Rails的新手,我正在尝试对使用activescaffold为记录生成Show,Edit和Delete链接的页面进行修改。我遇到的问题是我正在查看的页面是由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 -%>
感谢您对此事的任何帮助。
答案 0 :(得分:0)
这个答案并非特定于ActiveScaffold,但在Rails 3.2中,destroy链接生成为
<%= link_to 'Destroy', foo_instance, method: :delete, data: { confirm: 'Are you sure?' } %>
这会导致链接具有data-confirm
属性,从而实现您想要的效果。你能将它添加到ActiveScaffold视图吗?
更新(Rails 2):
jQuery支持data-confirm
属性(而不是原型),所以如果你在Rails 2应用程序中使用jQuery,它可能“正常工作”。否则,您可以直接在要确认的链接上添加javascript。 url_options
的{{1}}参数看起来很多 - 也许它会接受任意html属性(如Rails render_action_link
所做的那样),例如。
link_to