Last active
December 31, 2015 22:29
-
-
Save oniram/8053907 to your computer and use it in GitHub Desktop.
Como carregar java script em páginas do activeadmin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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