text_area

1 view
Skip to first unread message

gygfil

unread,
May 11, 2008, 11:24:48 PM5/11/08
to rails-br
Olá todos!

Tenho as classes:

Document (campos: [id, conteudo, created_on])
belongs_to :docformat

e

Docformat (campos: [id, nome, modelo ])
has_many :documents

A tabela envolvida pela classe-Docformat, contém dados não voláteis,
cujo objetivo é definir modelos padrões para determinados tipos de
documentos. Ex: Declaração, Relatório, Laudo, Solicitação, etc

Estou tentando gerar um novo document(que belongs_to :docformat), de
modo que ao ser exibida a tela ‘Novo Documento’, o campo [conteudo],
já esteja preenchido com o campo [modelo] da classe docformat(que
has_many :documents).

Muito grato pela atenção.

Bruno Azisaka Maciel

unread,
May 11, 2008, 11:27:22 PM5/11/08
to rail...@googlegroups.com
vc pode definir um default na criação da sua tabela, ou...

def initialize
  docformat = Docformat.find(:first)
end

2008/5/12 gygfil <gcgo...@gmail.com>:

gygfil

unread,
May 11, 2008, 11:40:58 PM5/11/08
to rails-br
Olá Bruno.

Onde ponho esse método?

No meu documents_controller tenho:
def new
@document = Document.new
conteudo= Docformat.find(6)
@conteudo = conteudo.modelo
end

E no meu _form:

%form_for :document, @document, :url=>{:action=> method} do |f|%>

<%= error_messages_for 'document' %>
<%fields_for :docformat, @document.docformat do |docformat_fields|%>
<%= docformat_fields.text_area :modelo, @conteudo%></p>

<%end%>
<%=submit_tag button%>


Grato pela ajuda.

Bruno Azisaka Maciel

unread,
May 12, 2008, 3:39:05 PM5/12/08
to rail...@googlegroups.com
vc coloca isso no seu model.

2008/5/12 gygfil <gcgo...@gmail.com>:

gygfil

unread,
May 13, 2008, 9:30:01 PM5/13/08
to rails-br
Olá Bruno. Consegui! É que os helpers text_field e text_area não
aceitam a sintaxe de colocação direta
da variável como o select:
<code>
<p><label for="document_docformat">Tipo de Impresso</label>
<%= f.select :docformat_id, @docformat %></p>
</code>

Foi só utilizar o parâmetro opcional:
<code>
<p><label for="document_conteudo">Conteúdo</label><br/>
<%= f.text_area :conteudo, :value => @conteudo %>%><br/>
</code>

Grato.
Reply all
Reply to author
Forward
0 new messages