Активный скаффолд: config.link.inline = false не работает - PullRequest
2 голосов
/ 06 января 2012

Использование 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 Ответ

2 голосов
/ 07 января 2012

Do:

config.create.link.page = true

Соответствующие биты, чтобы прийти к такому выводу в helpers / view_helpers.rb и data_structures / action_link.rb .

Поскольку существует 3 взаимоисключающих свойства (page, inline, popup), установка одного в false не влияет на другое (анализ потока управления), а установка только одного в true устанавливает два других в false.

«Прочитайте источник, Люк»

...