Pessoal tenho que acessar a seguinte url com o ActiveResource:
/rest/entrega/preview.json
mas o rails está invocando a seguinte url:
/rest/entregas/preview.json
Estou usando o seguinte trecho para a chamada:
class PreviewController < ApplicationController
def preview
@preview = Preview.get(:preview)
end
end
class Preview < ActiveResource::Base
self.site = "url/rest"
self.element_name = "entrega"
end
como faço para que o elemento “entrega” não seja pluralizado pelo rails?
Beleza @guilhermehbueno?
Tenta com
No lugar do element_name. Qualquer coisa, é só dizer.
[quote=ricardo.valeriano]Beleza @guilhermehbueno?
Tenta com
No lugar do element_name. Qualquer coisa, é só dizer.[/quote]
Opa Ricardo,
Funcionou! Obrigado pela ajuda.
O meu problema agora é o seguinte, quero trafegar por este json retornado, segue meu controller:
class PreviewController < ApplicationController
def preview
@preview = Preview.get(:preview)
puts "Preview recebido: #{@preview.preco}"
end
end
Ele está dando o seguinte erro:
NoMethodError in PreviewController#preview
undefined method `preco' for #<Hash:0x00000003e216b8>
O JSON que recebo é o seguinte:
{"endereco"=>{"id"=>nil, "endereco"=>"MMMMMMMMM"}, "distance"=>{"value"=>"4013", "text"=>"4,0 km"}, "duration"=>{"value"=>"594", "text"=>"10 minutos"}, "produto"=>{"id"=>nil, "nome"=>"Produto Selecionado", "preco"=>nil, "fornecedor"=>{"id"=>"62f21d1f-1f11-420b-901f-e5986e837572", "nome"=>"Endereço do Fornecedor", "endereco"=>"MMMMMMMMM"}}, "preco"=>10.0}
Estou fazendo algo de errado?
Como vai @guilhermehbueno?
O método get do Active Resource vai retornar um hash como documentando aqui: http://api.rubyonrails.org/classes/ActiveResource/CustomMethods.html#method-c-get. Portanto seu código teria que ser:
class PreviewController < ApplicationController
def preview
@preview = Preview.get(:preview)
puts "Preview recebido: #{@preview[:preco]}"
end
end
Qualquer dúvida, diga aí.