Tengo 2 clases, clan y mafia. una mafia tiene un clan (clan_id) y un
clan varias mafias…
class Clan < ActiveRecord::Base
has_many :mafia
end
class Mafia < ActiveRecord::Base
belongs_to :clan
end
Ahora… desde el controlador de mafias me va todo bien, puedo acceder a
mafia.clan sin problema, pero al reves no. Pongo el codigo del metodo
del controlador de clanes que tengo
def details
identificador=@params[:id]
if identificador!=nil
@clan=Clan.find(identificador)
@[email protected]
else
redirect_to :action=>:list
end
end
En tu modelo Clan deberías decir que un clan has_many mafias, en plural.
Es decir, que un clan tiene muchas mafias.
Como le dices que un clan tiene muchas “mafia”, él cree que “mafia” es
una palabra en plural, y en inglés las palabras que forman plural en ‘a’
son las que acaban en “um” por aquello del latín (como
curriculum->curricula).
Así que cuando a clan le pides “mafia” él trata de buscar el objeto
“mafium” en singular.
Probablemente poniendo el has_many a “mafias” se arregle el tema.
ostras, pues me ha funcionado… Muchisimas gracias…
por cierto, gracias por contestar tan deprisa, venia a postear una
alternativa que me ha fincionado:
@mafias=Mafia.find_all_by_clan_id @clan.id
pero no me hacia mucha gracia hacerlo asi.
Insisto, muchas gracias, soy nuevo en ruby y en ror y hay cosas que se
me escapan
Raul M. wrote:
Xarc
escribi�:> Tengo 2 clases, clan y mafia. una mafia tiene un clan (clan_id) y un
clan varias mafias…
class Clan < ActiveRecord::Base
has_many :mafia
end
class Mafia < ActiveRecord::Base
belongs_to :clan
end