【问题标题】:ActiveScaffold url_optionsActiveScaffold url_options
【发布时间】:2012-11-28 16:27:05
【问题描述】:

我对 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 -%>

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

【问题讨论】:

    标签: ruby-on-rails activescaffold


    【解决方案1】:

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

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

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

    更新(Rails 2):

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

     url_options = { :onclick => 'return confirm("Are you sure?")` } 
     render_action_link(link, url_options)
    

    【讨论】:

    • 感谢您的及时回复,这是我的错误,但我不在 Rails 3.2 中工作,我正在使用的应用程序实际上是在 Rails 2.3.12 中制作的,我粘贴的代码是在显示链接和选项列表的主页上调用的部分。我不确定 link_to 是否可以在这个版本的 Rails 上工作,老实说,我使用 rails 的时间很短。谢谢大家的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多