I had the same problem. After some analysis with firebug I discovered that the reason that it won't work is that the browser automatically renders the tag, in our cases too early.
How to fix it Pretty simple, move the <%= simple_form_for(@user) do |f| %> to the beginning, like:
<%= simple_form_for(@user) do |f| %>
<div>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="text-center">Nuevo Usuario</h3>
<div class="modal-body">
<%= f.error_notification %>
<%= display_base_errors resource %>
<%= f.input :name, :autofocus => true, :label => false, :placeholder => 'Nombre', :input_html => { :class => "input-block-level" } %>
<%= f.input :email, :label => false, :placeholder => 'Email', :input_html => { :class => "input-block-level" } %>
<%= f.input :role_ids, :collection => Role.all, :label => false, :prompt => "Selecciona un rol", :input_html => { :class => "input-block-level" } %>
</div>
<div class="modal-footer">
<%= f.button :submit, "Crear", :class => 'btn-info' %>
<% end %>
<a href="#" class="btn" data-dismiss="modal">Cerrar</a>
</div>