nelson corrêa viana júnior

Setembro 4, 2007

RoR: in place editor

Arquivado em: javascript, programação, ruby on rails, software livre — nel @ 0:07:25

Hoje quando estava criando a parte de ‘Account Info’ resolvi colocar um ‘ajax in place editor’ para facilitar a edição dos campos. Pra falar a verdade eu nunca havia usado essa propriedade do ajax, apesar de achar muito bacana.

Eu não costumo – apesar que a partir de agora eu posso dizer: não costumava – usar javascript pelo motivo da acessibilidade do usuário final.

Mais em vista que sites de grande porte não se preocupa tanto com essa parte de javascript não-obstrutivo, porquê eu preocupar? Partindo disso eu fui atrás de algum código que facilitasse a inserção do ‘in place editor’ no Ruby On Rails.

E não é que eu achei algo?! :-)

O código é o seguinte:

Primeiramente você adiciona a linha abaixo no app/views/layouts/application.rhtml (caso não exista o arquivo, pode criar, sem problemas).

<%= javascript_include_tag :defaults %>

Obs: Insira essa linha entre a tag <head></head>.

Agora, vá em app/views/user/arquivo.rhtml e insira este código:

<% for column in User.content_columns %>

 <p>

 	<b><%= column.human_name %>:</b>

 	<%= in_place_editor_field :user, column.name %>

 </p>

<% end %>

Caso você queira usar:

<%= in_place_editor_field :user, :username

Pode usar, não há problema.

E no arquivo app/controllers/application.rhtml insira:

User.content_columns.each do |column|

 in_place_edit_for :user, column.name

end

Obs: Aonde está negrito quer dizer que você terá que adaptar.

Sem comentários ainda »

Nenhum comentário ainda.

Feed RSS dos comentários deste post URI do TrackBack

Deixe um comentário

Blog no WordPress.com.