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.