sou iniciante no rails e estou tendo dificuldades para usar o ajax
tenho o controller world com a action calcula escrita assim
def calcula
@valor = params[:p].to_i
@resultado = params[:p].to_i * 10
end
na página world/calcula eu tenho:
<div id="mycalc">
<%form_remote_tag :url => {:controller => 'world', :action => 'calcula', } , :remote => true do %>
<%= label_tag :p, "vlaor" %>
<%= text_field_tag :p %>
<%= submit_tag "x10" %>
<% end %>
<%= @valor %> x 10 = <%= @resultado %>
</div>
tudo ocorre como esperado, exceto pelo reload da página inteira, como reenderizar apenas a div ou o form em questão?
:?
achei este tuto funcional (se trocar javaScript por javascript ) http://net.tutsplus.com/tutorials/javascript-ajax/using-unobtrusive-javascript-and-ajax-with-rails-3/ com rails 3 e deu uma clareada, mas ainda restam algumas dúvidas
no tuto acrescenta-se :remote => true no form, para que ele possa se tornar um form ajax, ok
mas em um form simples " :remote => true " não serve de nada
notem que:
gera:
e que:
gera:
lembrando q eu só quero entrar com um valor e ver o valor multiplicado por 10, claro que sem uso de nem um model
:?
(estou limitado a trabalhar com a versão 2.3.14 do rails, mas como o exemplo é em rails 3, claro q eu segui os passos usando o rails 3)
de uma forma não muito elegante eu resolvi o problema
usei as tags html padrão e não mais a tag do rails
o funcionamento é o seguinte
acesso uma página qualquer, /home por exemplo
e lá tenho um form com a action “/calculadora/soma” com o atributo date-remote = true
e o método responsável por processar “/calculadora/soma” deve responder em forma de js
para isso cria-se um soma.js.erb na pasta calculadora com o código JS que será executado ao fim
no rails 3 eu não testei
obrigado a todos
aliás, uma pena não haver tanto movimento no fórum rails hein?!