Pobrem with REST routes

Hi first at all sorry if mu english is not the best.

I have this models:

Encuesta->titulo and description are string. Encuesta has_many
Preguntas-> texto is string, encuesta_id and orden are integer. Pregunta
belongs_to :encuesta and has_many :soluciones
Soluciones-> texto is string, pregunta_id and orden are integer.
Soluciones belongs_to :pregunta

map.resources :encuestas do |encuesta|
map.resources :preguntas do |pregunta|
pregunta.resources :solucions

I can create preguntas for encuestas. But in the index view of preguntas
I have this code:

<%= link_to pregunta.texto,
encuesta_pregunta_solucions_path(@encuesta, @pregunta) %>

If I choose one pregunta the url that shows firefox is like that:


It doesn’t show preguntas_id in the url :frowning:

In another way if i write for example this url in firefox:


It shows me this error:
NoMethodError in SolucionsController#index

undefined method `find’ for #Encuesta:0x7f790aa4fdc8

RAILS_ROOT: /home/jose/marzo
Application Trace | Framework Trace | Full Trace

method_missing' app/controllers/solucions_controller.rb:94:infind_encuesta_pregunta’



My code-> Solucion controller

before_filter :find_encuesta_pregunta

def index

@solucions = @pregunta.solucions.find(:all)
respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @solucions }


def find_encuesta_pregunta
@[email protected](params[:pregunta_id])

Anybody can help me?

Ok, first, i can speak spanish, so i’ll write back in spanish, if that
makes it any easier for you. unfortunately i’m not sure how to add an
accent on my keyboard, so hopefully readability will still be good,
but if you write me back, please write me back in english (and you’re
english is good enough :slight_smile: ).

Espero que mi espanol sea suficiente tambien. te digo ahora que voy a
usar ‘tu’ in no ‘ud.’ simplemente porque es lo que a estoy
acostumbrado y por lo demas, no se que seria apropriado.

No se si esto es como lo escribiste en tu progama, pero vi que
escribiste esta lina:
belongs_to :encuesta and has_many :soluciones

y despues vi que siempre llamas el controller de soluciones
Me parece que podria ser esto.
que en la lina
has_many :soluciones
usaste espanol correcto, y en lo demas tenias que usar la
pluralizacion que hace Rails y que esto es el problema?

No se si te importa, pero Rails tiene las funciones de pluralizacion
para que cosas sean mas convenientes en ingles. Si es dificil siempre
pensar que tienes que pluralizar como se aria en ingles para palabras
que de verdad son espanoles (que, me imagino me
causaria…annoyance?), esto me parace que derepente seria mejor
encontrar una manera de cambiar la pluralizacion. leyendo estos


me parece que lo podrias lograr haciendo algunas addiciones o cambios
a la funcion ‘pluralize’ oh mirando a las reglas (‘rules’) que usa

si no es este problem de pluralizacion, no se que seria.

let me know if that works,

On Mar 14, 8:38 am, Jose vicente Ribera pellicer <rails-mailing-

Ok, first, i can speak spanish, so i’ll write back in spanish, if that
makes it any easier for you.

ok, now I DON’T, so if i post anything you already said: i’m sorry.

your method missing comes from this line:
@[email protected](params[:pregunta_id])

find is not defined on instances.
try something like:

or if there is a relation between those models maybe
@[email protected](params[:pregunta_id])
or just
@[email protected]
that depends on the type of their relationship.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs