Desing Plugin
Este plugin....
Dependências
Como Usar
Para ilustrar o uso do plugin suponha uma aplicação com as seguintes características. Uma aplicação onde existe o cadastro de várias organizações e cada uma destas organizações possuem uma funcionalidade onde é permitido para estas organizações realizarem a edição do seu site pelos usuários da organização. Este plugin tem como objetivo fornecer um infra-estrutura para que aplicações que tenha características semelhantes possam realizar a manipulação de objetos da página.
Como o objetivo do plugin não é testar gerencia de usuário as organizações possuem acesso direto sem controle de permissão.
Construção da Aplicação
Crie um model chamado organization, que tenha pelo menos o attributo design_data do tipo text no objeto.
script/generate model Organization
edit a migrate gerada para algo parecido com isso.
class CreateOrganizations < ActiveRecord::Migration
def self.up
create_table :organizations do |t|
t.column :name, :string
t.column :design_data, :text
end
end
def self.down
drop_table :organizations
end
end
Instale o plugin na applicação, na pasta vendor/plugins:
svn co https://svn.colivre.coop.br/svn/rails/plugins/design
No model Organization adicione a linha
acts_as_design
Crie o um controller para manipular as ações da aplicação.
Eu criei o controller utilizando o comando:
./script/generate scaffold Organization
Criar um mecanismos no install do plugin design para gerar a instalação do plugin.
Gere a migrate usando pelo plugin para armezenar as informações de design.
./script/generate design_migration
(isso também poderia ser gerado na instalação do plugin.)
No layout da sua aplicação coloque:
<%= design_display(yield) %>
Considerações Finais
Agora que você já tem idéia de como funciona o plugin, use, abuse e colabore com o desolvimvneto do mesmo.
Você pode ver este plugin em fucionamento utilizando a aplicação
Abelo? que possui uma funcionalidade semanlhante a descrita anteiormente.