Buenos dias.
amigos tengo un error super extraño en rails 2.1, tengo unos modelos
como conceptos y bancos y no me guarda en algunas tablas, pareciera que
no me funcionan las rutas rest, en la pagina me aparece Unknown action
No action responded to 1 y en el log:
“_method”=>“put”, “action”=>“1”, “controller”=>“bancos”,
“banco”=>{“numero_cuenta”=>“54545455”, “nombre_banco”=>“Bancolombia”}}
cuando estoy dando guardar, se mete una opcion “1”, parece que rest no
funciona.
ya verifique los permisos de mysql.
que sera?
eso ocurre para unas tablas, para otras no.
y en los link quito los helper rest y lo paso a rails convencional y me
funciona,.
gracias por vuestra ayuda.
2008/7/28 Aprendiz_ror Ruby on rails
[email protected]:
Buenos dias.
amigos tengo un error super extraño en rails 2.1, tengo unos modelos
como conceptos y bancos y no me guarda en algunas tablas, pareciera que
no me funcionan las rutas rest, en la pagina me aparece Unknown action
No action responded to 1 y en el log:
“_method”=>“put”, “action”=>“1”, “controller”=>“bancos”,
“banco”=>{“numero_cuenta”=>“54545455”, “nombre_banco”=>“Bancolombia”}}
Eso (modulo el hack_method) esta invocando a
PUT /bancos/1
con la intencion de modificar el banco de ID = 1. Estas seguro de tener
map.resources :bancos
en routes.rb?
Si Xavier, gracias por rsponder
map.root :controller => “bancos”
map.resources :bancos, :singular => :banco
tratando de solucionar el problema agregue :singular => :banco
y ademas agregue en envirptmen:
Inflector.inflections.clear
Inflector.inflections do |inflect|
inflect.plural /([aeiou])([A-Z]||$)/, ‘\1s\2’
inflect.plural /([rlnd])([A-Z]||$)/, ‘\1es\2’
inflect.singular /([aeiou])s([A-Z]||$)/, ‘\1\2’
inflect.singular /([rlnd])es([A-Z]||$)/, ‘\1\2’
inflect.irregular ‘session’, ‘sessions’
inflect.irregular ‘banco’, ‘bancos’
end
gracias Xavier
On Mon, Jul 28, 2008 at 5:22 PM, Aprendiz_ror Ruby on rails
[email protected] wrote:
map.root :controller => “bancos”
map.resources :bancos, :singular => :banco
En principio :singular no le hace falta (mira el output de un test
chungo abajo).
El feedback aqui seria que los recursos funcionan bien, normal, y que
esto es un uso basico por tanto la conjetura es que algo hay que no
esta fino en la app misma. Mira si ves algo raro por ahi, si rake
routes saca lo que esperas etc.
– fxn
fxn@feynman:~/tmp/test_bancos$ cat config/routes.rb
ActionController::Routing::Routes.draw do |map|
map.resources :bancos
map.connect ‘:controller/:action/:id’
map.connect ‘:controller/:action/:id.:format’
end
fxn@feynman:~/tmp/test_bancos$ rake routes
(in /Users/fxn/tmp/test_bancos)
bancos GET /bancos
{:controller=>“bancos”, :action=>“index”}
formatted_bancos GET /bancos.:format
{:controller=>“bancos”, :action=>“index”}
POST /bancos
{:controller=>“bancos”, :action=>“create”}
POST /bancos.:format
{:controller=>“bancos”, :action=>“create”}
new_banco GET /bancos/new
{:controller=>“bancos”, :action=>“new”}
formatted_new_banco GET /bancos/new.:format
{:controller=>“bancos”, :action=>“new”}
edit_banco GET /bancos/:id/edit
{:controller=>“bancos”, :action=>“edit”}
formatted_edit_banco GET /bancos/:id/edit.:format
{:controller=>“bancos”, :action=>“edit”}
banco GET /bancos/:id
{:controller=>“bancos”, :action=>“show”}
formatted_banco GET /bancos/:id.:format
{:controller=>“bancos”, :action=>“show”}
PUT /bancos/:id
{:controller=>“bancos”, :action=>“update”}
PUT /bancos/:id.:format
{:controller=>“bancos”, :action=>“update”}
DELETE /bancos/:id
{:controller=>“bancos”, :action=>“destroy”}
DELETE /bancos/:id.:format
{:controller=>“bancos”, :action=>“destroy”}
/:controller/:action/:id
/:controller/:action/:id.:format
Gracias Xavier, tenias toda la razon como siempre, eres un crak, nose si
esta bien escrito, alguna vez te dijeron lo mismo.
estas lineas las tenia mas arriba, y ceo que deben estar casi al final
map.connect ‘:controller/:action/:id’
map.connect ‘:controller/:action/:id.:format’
saludos
2008/7/28 Aprendiz_ror Ruby on rails
[email protected]:
Gracias Xavier, tenias toda la razon como siempre, eres un crak, nose si
esta bien escrito, alguna vez te dijeron lo mismo.
estas lineas las tenia mas arriba, y ceo que deben estar casi al final
map.connect ‘:controller/:action/:id’
map.connect ‘:controller/:action/:id.:format’
Muy bien eso es. Las rutas se procesan de arriba a abajo y la que
primero hace matching es la que se aplica. Si peta no hay
backtracking, asi que el orden hay que tenerlo presente.
Bien!