Active Scaffold:config.link.inline = false无效

时间:2012-01-06 19:57:44

标签: ruby-on-rails activescaffold

使用Rails 3.1.0,使用Active Scaffold(来自git repo)。我的控制器的代码如下所示:

active_scaffold :template do |config|
  config.create.link.inline = false
  config.actions = [:list, :search, :create, :delete]
  config.columns = [
     :name, 
     :description
    ]
  config.list.sorting = { :created_at => :desc }
end

理论上,这意味着活动脚手架列表顶部的“创建新”链接应该在没有数据远程调用的情况下呈现,但它仍然被渲染为:

<a href="/admin/templates/new" class="new" data-remote="true" id="as_admin__templates-new--link">Create New</a>

我们还使用以下内容覆盖_action_group.html.erb,但我已删除该文件以进行测试,但它没有任何效果。这是覆盖中的代码:

<% record ||= nil
   start_level_0_tag ||= ''
   end_level_0_tag ||= ''%>
<% action_links.traverse(controller, traverse_options) do |parent, link, options| -%>
  <% if (options[:node] == :finished_traversing) -%>
    <%= "</ul>#{(options[:level] == 0 ? "</div>#{end_level_0_tag}": '</li>')}".html_safe %>
  <% elsif (options[:node] == :start_traversing) -%>
        <% html_classes = []
           html_classes << 'hover_click' if hover_via_click? %>
  <% if options[:level] == 0 %>
           <% html_classes << 'action_group' %>
     <%= "#{start_level_0_tag}<div class=\"#{html_classes.join(' ')}\" #{"onclick=\"\"" if hover_via_click?}> #{content_tag(:div, as_(parent.name), :class => (parent.name.to_s).downcase)}<ul>".html_safe %>
  <% else %>
           <% html_classes << 'top' if options[:first_action] %>
     <%= "<li #{"class=\"#{html_classes.join(' ')}\"" unless html_classes.empty?} #{"onclick=\"\"" if hover_via_click?}>#{content_tag(:div, as_(parent.name), :class => (parent.name.to_s).downcase)}<ul>".html_safe %>
  <% end %>
  <% else -%>
    <% if options[:level] == 0 %>
      <%= "#{start_level_0_tag}#{render_group_action_link(link, url_options, options, record)}#{end_level_0_tag}".html_safe %>
    <% else %>
      <%= content_tag('li', render_group_action_link(link, url_options, options, record), options[:first_action] ? {:class => 'top'}: {}) %>
    <% end %>
  <% end -%>
<% end -%>

在我尝试设置config.create.link.inline的任何地方都会发生这种情况。在我需要寻找的某个地方是否有一些重要的设置?

1 个答案:

答案 0 :(得分:2)

执行:

config.create.link.page = true

helpers/view_helpers.rbdata_structures/action_link.rb中得出此结论的相关位。

因为有3个互斥属性(页面,内联,弹出),将一个设置为false不会影响另一个(分析控制流),只将一个设置为true会将另外两个设置为false。

“阅读来源,卢克”