MDWA - Endereco

Cria o cadastro de endereços, suas traduções, rotas a partir dos modelos MDWA.

Instalação

Adicione ao Gemfile:

gem 'mdwa_endereco'

Rode o bundle:

$ bundle

Ou instale diretamente do Rubygems:

$ gem install mdwa_endereco

Utilização

Crie uma entidade MDWA referenciando da seguinte forma:

	require 'mdwa/dsl'
	MDWA::DSL.entities.register "Cliente" do |e|
		#...
		e.association do |a|
    	a.type = 'one_to_one'
    	a.destination = 'Endereco' 
    	a.composition = true
  	end
end

A maior parte do código é gerada automaticamente, porém em alguns trechos é necessário código manual: Na view que inclui a parcial do cadastro de endereços, é necessário especificar qual o objeto (params) que referencia o endereço. Para isso utilize:

	<%= render 'a/enderecos/form_fields', :f => ff, :tipo => 'a_cliente' %>

O controller que referencia o endereço também ter adaptações para indicar a cidade: class A::ClientesController ...

		def create
			@cliente = A::Cliente.new(params[:a_cliente])
	    @cliente.endereco.cidade_id = params[:cidade_id]
	    ...
		end

		def update
			@cliente.attributes = params[:a_cliente]
	    @cliente.endereco.cidade_id = params[:cidade_id]
	    saved_ok = @cliente.save
		end
	end

Boa sorte.