Я уже некоторое время использую Formtastic, и он отлично подходит для ускорения реализации форм.Тем не менее, у меня есть особый случай, когда мне нужно больше настроек, что отображается в моей форме.В частности, поле представляет собой форму загрузки файла для загрузки изображений, а в форме редактирования я хочу показать эскиз текущей версии загруженного изображения.
У меня это работает, но требуется, чтобы я использовал пользовательскую разметку HTML, а это означает, что каждый раз, когда Formtastic меняет формат вывода, мне нужно обновить свой соответствующий HTML.Вот что я получил прямо сейчас:
<%= form.inputs do %>
<% if form.object.new_record? -%>
<%= form.input :image, :required => true, :hint => 'Maximum size of 3MB. JPG, GIF, PNG.' %>
<% else -%>
<li class="file input required" id="profile_image_input">
<label class="label" for="profile_image">Image</label>
<%= image_tag form.object.image.url(:thumb), :class => 'attachment' %>
<%= form.file_field :image %>
<p class="inline-hints">Maximum size of 3MB. JPG, GIF, PNG.</p>
</li>
<% end -%>
<% end %>
В идеале было бы неплохо сделать что-то похожее на следующее, где предполагается, что input_html
- это сгенерированный HTML для ввода, подсказки и т. Д..:
<%= form.inputs do %>
<%= form.input :image, :required => true, :hint => 'Maximum size of 3MB. JPG, GIF, PNG.' do |input_html| %>
<%= image_tag form.object.image.url(:thumb), :class => 'attachment' unless form.object.new_record? %>
<%= input_html %>
<% end %>
<% end %>
Что-нибудь подобное уже существует?Или есть другой подобный вариант, который облегчит мою жизнь?