Kan iemand asseblief vir my verduidelik in duidelike, leketaal wat die deal is met gekarteer hulpbronne en die naam roetes in Ruby on Rails?

StackOverflow https://stackoverflow.com/questions/1801756

Vra

Ek het al met behulp van Ruby vir die eerste keer op'n projek by my werk, so ek is nog'n bietjie leer die toue (en liefdevolle elke minuut van dit).

Terwyl ek verstaan die punt van die map.connect funksies in die roete.rb lêer, ek verstaan nie die "hulpbronne" en "genoem roete" kenmerke van die Relings.Ek het my Spore boek hier en lees dit'n paar keer, maar ek het nog nie dit kry.Die naam van die roetes wat ek kinda kry - ek dink dat hulle is óf reëls, hetsy uitdruklik omskryf, of bereken deur'n kode blok, maar die hulpbronne is'n totale raaisel vir my;die enigste ding wat ek het blink rom hulle is dat jy net NODIG het om hulle as jy wil'n paar van die koel dinge om te werk, soos in staat is om te noem "resource_path' (en sy ongelooflike verwante familie van metodes).

My huidige projek:

map.resources :application_forms
map.resources :sections
map.resources :questions
map.resources :seed_answers
map.resources :question_types
map.resources :form_questions
map.resources :rules
map.resources :form_rules

..maar my Spore boek het hierdie awesome kinda "has_many" en "net" tipe allegaartjies en parameters hang af van hulle en ek kan nie uit te werk presies wanneer ek veronderstel is om dit te gebruik, of wat die voordeel is.

Kan iemand my reguit?

Was dit nuttig?

Oplossing

Die naam van roetes is net dat, 'n roete met 'n naam gekoppel is, sodat jy maklik kan verwys na dit wanneer jy wil 'n URL op te wek. Onder andere, kan dit dubbelsinnigheid uit te skakel.

'n hulpbron is basies 'n "ding" wat jy wil roetes om te manipuleer het. Wanneer jy definieer wat 'artikels 'n hulpbron, wat jy doen is om te sê "Ek wil 'n roete na al die afdelings kry. Ek wil 'n roete na 'n nuwe artikel by te voeg. Ek wil 'n roete na 'n bestaande afdeling wysig. Ek wil 'n roete na 'n artikel te skrap. " Daardie soort van ding. Hierdie roetes wys gestandaardiseerde metode name soos index, new, edit, en so aan. Elkeen van hierdie roetes sal 'n naam wat gebaseer is op wat dit is nie; so daar is nou 'n roete genaamd 'edit_section'.

Die :has_many parameter kan jy sê dat 'n sekere soort ding het sub-dinge. Byvoorbeeld, kan jy sê map.resources :sections, :has_many => [:questions]. Dit beteken dat 'n vraag behoort aan 'n artikel, en dit sal weerspieël word in die url en die roete. 'N Mens sou urls soos '/sections/27/questions/12' en die naam van roetes kry soos 'section_questions'.

Die :only parameter sê "net roetes maak vir hierdie aksies"; jy kan dit gebruik as jy net wil toelaat lys, lees, en die toevoeging van items, nie die wysiging of verwyder.

Ander wenke

Honestly die Rails Routing Guide sal jy 'n goeie verduideliking gee in omtrent so plain bewoording as Jy kan kry. Weet net dat 'n hulpbron roete == REST roete en jy is goed om te gaan.

Ons almal het gesukkel met die begrip van hulpbronne en die RES wanneer DHH het dit aan die Relings van die gemeenskap by die eerste RailsConf in 2006, so dit is geen wonder jy het die moeilikheid gryp die konsep.

Ek erken daar is baie beter en meer up-to-date verduidelikings van die konsepte vandag, maar terug dan, reg na Dawid se keynote, ek het'n blog post in wat ek uit die gesprek met ander konferensiegangers, probeer om te verstaan en verduidelik dit.Dit kan jou help, as dit nie as vanselfsprekend aanvaar dat jy weet alles oor die RES as meer onlangse artikels doen.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top