Activeadmin и Formtastic: форма не отвечает: размер - PullRequest
8 голосов
/ 13 января 2012

Я пытаюсь отформатировать форму, и текстовые поля реагируют на некоторые методы, а не на другие.

Я могу сделать что-то вроде:

f.input :name, :input_html => { :maxlength => 10 }
f.input :name, :input_html => { :disabled => true }

Но если я попытаюсь выполнить одно из следующих действий, они не будут работать:

f.input :name, :input_html => { :size => 10 }
f.input :name, :input_html => { :class => 'autogrow' }
f.input :name, :input_html => { :rows => 10, :cols => 10 }

Когда я пытаюсь использовать: size, например, сгенерированный HTML показывает, что size = 10, но не отражается в реальной форме.

Они были более или менее извлечены прямо из документации Formtastic на Github, к которой относится документация Activeadmin.

Ответы [ 2 ]

12 голосов
/ 29 марта 2012

Я не уверен, что ваш вопрос решен или нет.

Однако, согласно Официальному Официальному WIKI, ваш код должен работать:

Настройте атрибуты HTML для любого ввода, используя параметр: input_html. Обычно это используется для отключения ввода, изменения размера текста поле, изменить строки в текстовой области, или даже добавить специальный класс к входу, чтобы прикрепить специальное поведение, как autogrow textareas:

<%= semantic_form_for @post do |f| %>
  <%= f.inputs do %>
    <%= f.input :title,      :input_html => { :size => 10 } %>
    <%= f.input :body,       :input_html => { :class => 'autogrow', :rows => 10, :cols => 20, :maxlength => 10  } %>
    <%= f.input :created_at, :input_html => { :disabled => true } %>
    <%= f.input :updated_at, :input_html => { :readonly => true } %>
  <% end %>
  <%= f.actions %>
<% end %>

https://github.com/justinfrench/formtastic

если ваш код не работает, проверьте журналы ошибок или добавьте больше отладочной информации в файл erb, чтобы узнать, работает ли ваш rails в рабочем режиме.

5 голосов
/ 16 июля 2014

У меня была такая же проблема.я хотел вложенную форму для редактирования с настраиваемым размером текстового поля. Это сработало для меня.

    form do |f|
      f.inputs "Header" do
        cf.input :name, :input_html => { :class => 'some_style', :rows => 2, :style => 'width:50%'}
      end
      f.actions
    end

, поэтому в основном вам нужно создать собственный класс или просто работать с: style.

Для вложенной формы вы можете использовать этот код

    form do |f|
      f.inputs "Header" do
        f.has_many :name,:allow_destroy => true,:new_record => true do |cf|
          cf.input :first_name, :input_html => { :class => 'some_style', :rows => 2, :style => 'width:50%'}
        end
      end
      f.actions
    end
...