Buongiorno a tutti, intanto spero di scrivere nel posto giusto se ho
sbagliato mi scuso, premetto che sono nuovo del mondo ruby e del mondo
rails, ma sono rimasto affascinato dalla semplice potenza di ruby. Per
iniziare a capire un po` bene come funziona ho iniziato a scrivere una
app rails, fino a oggi e filato tutto liscio, oggi mi sono imbattuto in
un problema che non riesco a risolvere.
Allora la mia applicazione dovrebbe gestire una biblioteca/videoteca,
tra le varie cose che caratterizzano un libro ci sono il genere e e la
collana.
Quindi ho 3 tabelle e models: Libro(tra i vari campi collana_id, e
genere_id), collana(id, nome_collana), genere (id, nome_genere). In
collana e genere ho messo has_many :libri, in libri ho messo belongs_to
:collana e genere. Per comodita’ ho scritto tutto in italiano ma in
realta’ e’ tutto in inglese quindi singolari e plurali tornano tutti. E
tutto nella sua semplicita’ funziona.
Ora vorrei creare un nuovo controller chiamato Settings, in cui gestisco
i generi e le collane, per il per l’azione index ho fatto e riesco a
visualizzare tutto, ma ora per l’azione new ho un problema:
SettingsController:
…
def new @genre = Genre.new
end
new.html.erb
<%= form_for @genre do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
pero’ cosi’ facendo ricevo questo errore:
undefined method `genres_path’ for #<#
Sapete aiutarmi? Mi accontento anche di un semplice link con una
spiegazione…
Ciao ciao e grazie…
Ciao Luigi,
ti consiglio di spendere un paio di mesetti a giocare con ruby, prima di
avventurarti con rails.
Rispondendo alla tua domanda:
<%= form_for @genre do |f| %>
form_for in questo caso guarda la classe di @genre (Genre) e utilizza
quel nome per scrivere nel form il percorso su cui effettuare il
post/put.
Nel tuo caso non sono presenti i percorsi per i generi nel file
routes.rb.
Ti consiglio di leggere questa guida [1] che spiega bene il routing in
rails e che dovrebbe illuminarti su una parte del problema.
Ciao,
Rails un framework complesso, a suo modo quasi come fosse un
“dialetto”
di ruby tali e tante sono le funzioni aggiuntive (userei il termine
giusto,
DSL).
Ci vuole un po’ di tempo anche sapendo il Ruby.
In particolare il routing delle resources tende ad essere leggermente
ostico.
Leggi le guide e vedrai che sar tutto pi chiaro.
Grazie mille per l’aiuto. Siete stati veloci e gentilizzimi. Per quanto
riguarda ruby ci ho giocato per diverso tempo, bene o male riesco a fare
abbastanza.
Grazie mille ciao ciao…
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.