Search code examples
ruby-on-rails-plugins

How to set a file_upload control for a field in rails_admin?


I'm new to rails and I recently discovered rails_admin.

How to set a file_upload control for a field in rails_admin?


Solution

  • If you are using the Carrierwave gem for your file uploads you can do something like this https://gist.github.com/884835 or in erb if you prefer that:

    <%= label_tag "#{field.abstract_model.to_param}_#{field.name}", field.label %>
    <div class="input">
    <% image = field.bindings[:object].send(field.name) %>
    <% if image.path %>
        <div class="row">
            <% default_version = image.versions[:main] %>
            <%= image_tag default_version && default_version.url || image.url %>
            <br />
            <%= form.check_box "remove_#{field.name}" %>
            <%= form.label "remove_#{field.name}", "Remove existing #{field.label.downcase}", :class => "inline" %>
        </div>
    <% end %>
    <div class="row">
        <%= form.file_field field.name, :class => "fileUploadField #{field.has_errors? ? "errorField" : nil}" %>
        <%= form.hidden_field "#{field.name}_cache" %>
    </div>
    </div>