Skip to content

Instantly share code, notes, and snippets.

@oniram
Last active December 31, 2015 22:29
Show Gist options
  • Save oniram/8053907 to your computer and use it in GitHub Desktop.
Save oniram/8053907 to your computer and use it in GitHub Desktop.
Como carregar java script em páginas do activeadmin
#app/model/store.rb
has_many :categories
#app/model/category.rb
acts_as_tree :order => :name
belong_to :store
#Desejamos que no cadastro de categoria no activeadmin seja possível associar uma loja e um sub-categoria para a nova categoria.
#Como ficará seu form no categories.rb
#app/admin/categories.rb
form do |f|
f.input :store, :collection => Store.all.map { |store| [store.name, store.id] }]
f.inputs do
f.input :name
end
f.actions
f.inputs :style => 'display:none' do
f.template.render partial: 'scripts'
end
end
# A linha 23 irá redenrizar um arquivo que tem um script para assim que selecionarmos uma loja,
#realizarmos um busca via ajax das categorias pais desta loja e preencher no select
#A chamada ajax sera realizada num collection_action definido no categories.rb do admin, e utilizei o padrao de path, assim não preciso criar esse metodo num controlador fora do admin, nem ter que definir rotas no routes.rb
#app/views/admin/categories/_scripts.html.erb
<script type="text/javascript">
$(document).ready(function () {
$("#category_store_id").change(function () {
if ($(this).val() != "") {
$.ajax({
url:"<%= parent_categories_of_store_admin_categories_path %>",
data:{store_id:$("#category_store_id").val()}
});
}
});
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment