Mradi wa kwanza kwenye rubi kwenye reli. Tunaandika blogi katika Ruby on Rails. Kuunda Maombi ya Blogu

Moja ya vitabu vya kwanza na vya kina vya mafunzo ya Reli kwenye Mtandao. Faida kuu ni chanjo ya kina ya masuala muhimu zaidi, sasisho za mara kwa mara na maudhui ya msingi ya bure.

Kweli, rasilimali hiyo iko kwa Kiingereza kabisa. Na ni muhimu kuelewa kwamba hii imejengwa kwa namna ya kitabu - unapaswa kufikiri masuala yote mwenyewe. Kwa sababu ya hili, muda na utata wa mafunzo hauwezi kutabiriwa.

2. Reli

Nyenzo nyingine ya elimu inayojulikana kote kwenye mtandao. Zaidi ya kizazi kimoja cha watengenezaji wa Rails walikua juu yake. Pia kwa Kiingereza.

Haijajengwa kama kozi kamili ya mafunzo, lakini kama mfululizo wa maonyesho ya skrini - masomo mafupi juu ya mada maalum. Kuna masomo mengi, unaweza kupata yao karibu na mada yoyote.

Kwa bahati mbaya, mradi uliacha kusasishwa mnamo 2013.

3. Reli kwa Zombies

Utangulizi wa kufurahisha wa reli kwa wanaoanza katika mtindo wa mchezo wa kutafuta na mazingira ya zombie. Inajulikana sana kati ya Kompyuta kamili.

Ni rahisi kwa sababu huhitaji kusakinisha chochote kwenye kompyuta yako. Matatizo yote yanatatuliwa kwenye kivinjari. Hatua kwa hatua unapitia mchezo na kuanza kuelewa misingi ya Ruby kwenye Reli.

Ikiwa huelewi upangaji hata kidogo, hili ni chaguo lako. Hakuna mada ngumu katika kozi, hakuna kitu kinachosumbua kutoka kwa msingi. Kwa Kingereza.

3.Udemy

Mkusanyiko mkubwa wa kozi za video. Miongoni mwao ni nyingi kwa ruby ​​​​na ruby ​​​​kwenye reli. Hakuna maana katika kutoa viungo maalum - chagua kulingana na ladha yako kulingana na bei au umaarufu.

Umbizo la Udemy linajumuisha kozi fupi kwa msisitizo juu ya masomo ya video. Usitarajie kazi kubwa ya nyumbani au usaidizi wa haraka kutoka kwa walimu.

4. Ruby Bursa

Kozi fupi yenye nguvu juu ya misingi ya ukuzaji wa Reli. Walimu wenye uzoefu, programu nzuri.

Uwepo wa kibinafsi wa mwanafunzi kwenye kozi ni wa kuhitajika na hufanyika tu katika miji mikubwa ya Kiukreni.

5. Maendeleo katika Ruby juu ya Rails kutoka Martians Uovu

Kozi ya kina ya siku tatu kutoka kwa mojawapo ya timu zenye uzoefu zaidi za Ruby on Rails nchini Urusi.

Hufanyika mara chache. Ni ghali (kwa kuzingatia hakiki, inafaa). Inahitaji uwepo wa kibinafsi. Inafaa tu kwa waandaaji wa programu za hali ya juu;

6. Ruby on Rails kozi ya mtandaoni kutoka kwa "Mpangaji Mzuri"

Mradi mpya kutoka kwa timu inayojulikana kwenye Youtube kwa kozi zake za Ruby kwa wanaoanza.

Programu ya miezi 3 ya kina imeundwa kwa wanaoanza kabisa na inaahidi kukugeuza kuwa mtayarishaji programu mdogo na jalada la programu mahiri zisizopungua 12.

Kozi hiyo ina masomo ya video, kazi za vitendo, usaidizi wa mwalimu, na wavuti za kawaida.

Kwa kuzingatia chaneli ya YouTube na maoni ya watumiaji, watu hawa wanajua wanachofanya na hutachoshwa nao.

Sifa kuu ya mbunifu yeyote wa wavuti ni kuweza kuelewa - na hata kupanga - nini kinaendelea nyuma ya pazia.

Angalau, unapaswa kuchukua masomo ya programu. Sizungumzi juu ya lugha za mwisho kama HTML na CSS - labda tayari unajua mengi ya vitu hivyo. Ninazungumza juu ya mambo ya nyuma.

Ikiwa unajua jinsi ya kuweka msingi, basi unaweza kuelewa vizuri jinsi ya kuunda tovuti iliyobaki. Jambo ni kwamba kujifunza kwa kanuni kutakufanya kuwa mbunifu zaidi. Kando na hilo, ni nani asiyetaka kuajiri mbunifu ambaye anajua kila kitu kutoka kwa muundo hadi ukuzaji wa wavuti?

Ujanja ni kuchagua mahali pa kuanzia. Kupanga programu kunaweza kuwa mchakato mgumu, haswa ukichagua mojawapo ya lugha ngumu zaidi kama vile C++ au PHP.

Kwa hivyo ni wapi pazuri pa kuanzia? Kuna jibu moja tu: Ruby on Rails ni mojawapo ya lugha bora za programu na mfumo wa kujifunza misingi ya kubuni.

Kwa nini Ruby ndiye chaguo bora?

Kwa wanaoanza, Ruby ni moja ya lugha rahisi kujifunza, haswa ikiwa una uzoefu wa kuandika HTML au CSS, ambayo wabuni wengi wanayo.

Moja ya programu za kwanza utakazofanya unapoanza kujifunza lugha ni ile maarufu "Hello World!", ambayo inahusisha uchapishaji wa maneno hayo kwenye skrini.

Kwa lugha kama C++, kunaweza kuwa na mistari mitano hadi saba ya msimbo ili kuonyesha maneno hayo mawili. Lakini ikiwa unatumia Ruby, kutakuwa na mstari mmoja tu na amri moja.

Inaweka "hello, dunia!"

Ni hayo tu! Hiyo ndiyo yote unayohitaji kuandika maneno "Hujambo, ulimwengu!" kwenye skrini. Rahisi sana, sawa?

Ruby on Rails pia ni lugha kavu sana. Kama mojawapo ya kanuni za maendeleo, DRY inasimamia "Usijirudie" - yaani, usipange kipengele tena wakati unaweza kutumia ambacho tayari umeunda. Hii inafanya Ruby kuwa lugha ya programu rahisi na inayotumiwa sana kwa maendeleo kwani inalenga kukamilisha mradi haraka na kwa ufanisi.

Ruby au Reli?

Ruby ni lugha ya programu. Reli ni mfumo unaotumia Ruby kufanya kazi hiyo. Mfumo wa Ruby on Rails ni mkusanyiko wa msimbo uliotungwa au ulioandikwa awali ambao husaidia kuharakisha mchakato wa kuunda miradi mipya. Hapo awali, iliundwa ili kukuza zana ya usimamizi wa mradi wa Basecamp. Kando na Basecamp, kuna programu zingine maarufu za wavuti zilizojengwa kwa Reli, kama vile 500px, ThemeForest na MyFitnessPal.

Mara tu unapoelewa jinsi ya kufanya kazi na lugha ya Ruby na kupata vitu kufanya kazi katika mfumo wa Ruby On Rails, unaweza kuanza kuunda programu za wavuti.

Ruby yuko kwenye kilele cha umaarufu!

Shukrani kwa mlipuko wa umaarufu wa vifaa vya rununu na teknolojia inayowashwa kila wakati, Ruby ni maarufu sana hivi sasa. Na pengine itaendelea kuwa hivyo. Kielezo cha TIOBE kinaweka Ruby kama lugha ya 13 ya upangaji maarufu zaidi. Sambamba na mienendo inayoibuka, Ruby pia anakabiliwa na mahitaji ya juu ya kushangaza, kulingana na Indeed.com.

Kielezo cha TIOBE

Kwa njia yoyote, mahitaji au umaarufu, Ruby ni maarufu sana. Hii inafanya kuwa mojawapo ya maeneo bora zaidi ya kuanza kwa sababu mara tu unapofahamu lugha, unaweza kupata kazi haraka sana. Na hiyo ni kabla ya kuanza kujifunza lugha nyingine ili kupanua ujuzi wako.

Ruby ina msingi imara!

Baadhi ya lugha zingine zimekuwa karibu zaidi, ni kweli, lakini hata hivyo, usaidizi na uhifadhi wa hati ni mdogo kwa kulinganisha na kile kinachopatikana kwa Ruby. Lugha zingine pia hazina mshikamano wa jamii karibu na mfumo mmoja unaoungwa mkono kwa dhati.

Shukrani kwa mfumo wa Ruby On Rails, tayari kuna tani nyingi za msimbo uliokuwepo ambao unaweza kutumia katika miradi yako mwenyewe. Ruby Gems, maktaba ya mifumo ya Ruby, ina zaidi ya maktaba 600,000 za kuchagua.

Kila wakati unapojifunza kitu kipya, unahitaji nyaraka nyingi na usaidizi. Kuna tani ya maeneo ambapo unaweza kupata nyenzo za kujifunzia, mafunzo, miongozo, na hata mabaraza ya Maswali na Majibu. Iwapo unakabiliwa na tatizo fulani, utafutaji rahisi wa wavuti pengine utalitatua. Ni muhimu.

Hati rahisi na ufikiaji rahisi wa usaidizi ni muhimu unapojifunza lugha mpya - wakati unajifunza kitu kipya.

Ruby "inaruhusu" udhibiti zaidi juu ya kubuni

Ikiwa wewe ni mbunifu wa wavuti tu, kuunda tovuti kunaweza kuwa mchakato mrefu na mgumu. Unapoketi na mpanga programu na kujadili mwisho wa nyuma unaohitajika kwa tovuti yako, mara nyingi unapaswa kutoa dhabihu ya mbele ili kufanya kila kitu kufanya kazi vizuri.

Hatimaye, hii inaweza kusababisha bidhaa ambayo inaonekana tofauti kabisa na maono yako ya awali. Mpangaji programu anaweza asijali, lakini kwako labda itakuwa shida.

Hautakumbana na shida kama hizi ikiwa utafanya programu mwenyewe. Hutalazimika kutegemea wengine kupata mradi uliokamilika, na utakuwa na ufahamu bora zaidi wa kile kinachoweza kupatikana kutoka kwa mtazamo wa maendeleo. Je, kumekuwa na wakati au mbili ambapo malengo ya mradi wako yalikuwa juu sana kwa mtayarishaji programu mmoja au timu ya ukuzaji? Unapojifunza lugha kama Ruby, unaweza kufurahia urahisi wa kuelewa mahitaji, na uwezo kwa upande mwingine.

Kimsingi, Ruby imeundwa kwa matumizi katika programu za wavuti na ukuzaji wa wavuti, na kuifanya iwe mahali pazuri kwa wabunifu wanaotamani wa wavuti. Mara tu unapoelewa lugha na kujifunza jinsi ya kutumia mfumo wa Ruby on Rails, utakuwa na udhibiti zaidi juu ya miradi yako.

Wapi kujifunza Ruby?

Njia bora ya kujifunza lugha ni kuzama ndani yake na kufanya kazi nayo. Kuna miongozo mingi na mafunzo ambayo unaweza kurejelea pia. Ikiwa una kumbukumbu dhabiti ya kuona na unaelewa vyema kupitia mawasilisho ya kuona, kisha nenda kwenye YouTube - wana uteuzi mkubwa wa video za elimu.

Ikiwa ungependa mafunzo ya kitamaduni ya mtindo wa darasani, unaweza kuchukua mafunzo kwenye tovuti maalum za kupanga programu. Sio lazima kwenda chuo kikuu au chuo kikuu kupata elimu ya kazi.

Mojawapo ya nyenzo ninazozipenda - na zisizolipishwa kabisa - za kujifunza Reli ni Mafunzo ya Reli ya Michael Hartle. Inakuchukua kutoka kwa miradi rahisi hadi ngumu kwa kasi yako mwenyewe ya kujifunza, na unaweza kuanza kutoka mwanzo bila ufahamu kabisa wa Ruby on Rails.

Haijalishi ni njia gani ya kujifunza unayochagua, kumbuka, mazoezi huleta ukamilifu. Weka malengo ya kibinafsi ya kutumia muda fulani kila siku kufanya kazi na Ruby. Shikilia malengo haya na uwe na bidii. Kabla ya kuelewa lugha kikamilifu, utakuwa tayari kuwa mtaalamu ambaye anaweza kuunda miradi ya ajabu.

Katika makala hii nataka kukuambia jinsi ya kuunda programu rahisi inayofanya kazi na hifadhidata ya MySQL katika mazingira ya Ruby on Rails 3 Unaweza kufikiria nyenzo hii kama mwongozo wa hatua kwa hatua kwa waandaaji wa programu za Reli.

Kwa hiyo, kwa kazi tunahitaji reli zilizowekwa na rubygems. Jana nilikuwa na shida na ya mwisho, kwa hivyo ilinibidi kuondoa kifurushi cha rubygems1.8 (haijulikani jinsi kiliishia kwenye mfumo) na kusakinisha rubygems1.9 Acha nikukumbushe kuwa ninaendeleza Ubuntu, ingawa kwa Windows. Nadhani amri za koni ya Reli zitakuwa sawa. Kama mazingira ya maendeleo mimi hutumia NetBeans na programu-jalizi ya Ruby kwenye Reli. Mwenzangu aliandika vizuri juu ya ufungaji.

Kuangalia viungo

Unahitaji kuhakikisha kuwa saraka ya /usr/bin ina reli, reki, ruby, ulinganifu wa bundler kwa faili kutoka kwa /usr/local/ruby/bin saraka. Kuangalia viungo tumia amri:

kulingana na kile unachotaka kuchuja.

Kuunda programu

Niliunda saraka maalum ya maombi yangu ya ruby ​​​​.

mkdir /home/andrey/ruby
cd /home.andrey/ruby

Reli ina huduma nyingi za kiweko ambazo hurahisisha kazi yako, haswa kwa prototyping. Ili kuunda programu kwa kutumia mysql kama hifadhidata, endesha amri:

app ni jina la programu yetu mpya. Baada ya kutekeleza amri, tutaona jinsi reli zilivyotufanya kuwa mfumo wa programu ya baadaye.

mzizi@vaio:~/ruby# reli programu mpya -d mysql
kuunda
unda README
tengeneza Rakefile
unda config.ru
tengeneza.gitignore
tengeneza Gemfile
tengeneza programu
unda programu/vidhibiti/application_controller.rb
unda programu/helpers/application_helper.rb
tengeneza programu/watuma barua pepe
tengeneza programu/miundo
unda programu/views/layouts/application.html.erb
tengeneza usanidi
unda config/routes.rb
unda config/application.rb
tengeneza config/environment.rb
tengeneza usanidi/mazingira
tengeneza config/environments/development.rb
tengeneza config/environments/production.rb
tengeneza config/environments/test.rb
unda usanidi/wanzilishi
unda config/initializers/backtrace_silencers.rb
tengeneza config/initializers/inflections.rb
unda config/initializers/mime_types.rb
unda config/initializers/secret_token.rb
unda config/initializers/session_store.rb
tengeneza config/locales
unda config/locales/en.yml
unda config/boot.rb
unda config/database.yml
tengeneza db
tengeneza db/seeds.rb
tengeneza hati
unda hati/README_FOR_APP
tengeneza lib
tengeneza lib/kazi
unda lib/tasks/.gitkeep
tengeneza logi
tengeneza log/server.log
tengeneza logi/production.log
tengeneza log/development.log
tengeneza log/test.log
kuunda umma
tengeneza umma/404.html
tengeneza umma/422.html
tengeneza umma/500.html
tengeneza public/favicon.ico
tengeneza public/index.html
unda public/robots.txt
tengeneza picha za umma/picha
unda umma/picha/reli.png
tengeneza laha za umma/mitindo
unda public/stylesheets/.gitkeep
tengeneza hati za umma/javascript
tengeneza public/javascripts/application.js
tengeneza public/javascripts/controls.js
tengeneza public/javascripts/dragdrop.js
tengeneza public/javascripts/effects.js
tengeneza public/javascripts/prototype.js
tengeneza public/javascripts/rails.js
tengeneza hati
tengeneza hati/reli
tengeneza mtihani
tengeneza majaribio/mipangilio
tengeneza mtihani/kazi
tengeneza mtihani/muunganisho
unda test/performance/browsing_test.rb
unda test/test_helper.rb
tengeneza mtihani/kitengo
tengeneza tmp
tengeneza tmp/vikao
tengeneza tmp/soketi
tengeneza tmp/cache
tengeneza tmp/pids
unda muuzaji/plugins
unda muuzaji/plugins/.gitkeep

Tunaenda kwenye folda nayo na kufunga vito muhimu. Vito ni maktaba programu-jalizi zinazohitajika kwa mradi (sawa na PHP's PECL na PEAR).

Baada ya hayo, koni itaonyesha kitu kama hiki:

andrey@vaio:~/ruby/app> usakinishaji wa kifungu cha sudo
Kutumia reki (0.8.7)
Kwa kutumia muhtasari (1.0.0)
Kwa kutumia activesupport (3.0.0)
Kutumia mjenzi (2.1.2)
Kwa kutumia i18n (0.4.2)
Kwa kutumia activemodel (3.0.0)
Kutumia erubi (2.6.6)
Kutumia rack (1.2.1)
Kutumia rack-mount (0.6.13)
Kutumia mtihani wa rack (0.5.6)
Kwa kutumia tzinfo (0.3.23)
Kutumia kifurushi cha vitendo (3.0.0)
Kutumia aina za mime (1.16)
Kwa kutumia polyglot (0.3.1)
Kutumia kilele cha miti (1.4.8)
Kwa kutumia barua (2.2.9)
Kwa kutumia kipeperushi (3.0.0)
Kutumia arel (1.0.1)
Kwa kutumia activerecord (3.0.0)
Kutumia rasilimali hai (3.0.0)
Kutumia kifurushi (1.0.3)
Kwa kutumia mysql2 (0.2.6)
Kutumia thor (0.14.4)
Kutumia reli (3.0.0)
Kutumia reli (3.0.0)
Kifurushi chako kimekamilika! Tumia `bundle show` kuona mahali ambapo vito vilivyounganishwa vimesakinishwa.

Hii ina maana kwamba vito vyote vimewekwa na kuunganishwa. Ikiwa kitu kinakosekana, basi kifungu yenyewe kitapakua kutoka kwa rubygems na kuziweka. Hiki ndicho nilichokuwa nikikosa katika PHP kwa muda mrefu; Orodha ya vito tegemezi iko kwenye Gemfile kwenye mzizi wa mradi.

Usanidi

Sasa tunahitaji kutaja maelezo ya ufikiaji kwenye hifadhidata ya mradi wetu. Fungua mradi katika NetBeans: Mradi Mpya -> Ruby -> Ruby on Rails application na chanzo kilichopo. Tunaonyesha njia, katika kesi yangu itakuwa (/home/andrey/ruby/app) na jina la mradi (programu). Kwa Jukwaa la Ruby, tunachagua moja iliyowekwa kwenye mfumo, badala ya ile iliyojengwa kwenye NetBeans. Bonyeza Maliza na mradi utaundwa. Fungua folda bandia ya Usanidi na faili ya hifadhidata.yml. Hapa unahitaji kutaja kuingia na nenosiri ili kufikia hifadhidata, ikiwezekana kwa mazingira yote matatu mara moja (maendeleo, mtihani, uzalishaji). Mazingira ni mazingira ambayo maombi yetu yataendeshwa,

  • maendeleo - kompyuta ya msanidi programu,
  • uzalishaji - seva ya operesheni ya viwandani,
  • test — fanya kazi katika modi ya majaribio kwenye seva ya muunganisho endelevu au kompyuta ya kijaribu.

reli huzalisha modeli Jina la mtumiaji: kamba hashed_password:string salt:string

Unaweza kuona mara moja kile ambacho Reli imetutengenezea:

omba active_record
unda db/migrate/20101107054200_create_users.rb
unda app/models/user.rb
omba kitengo cha_mtihani
unda test/unit/user_test.rb
tengeneza test/fixtures/users.yml

Kubwa, sasa tunahitaji kuunda hifadhidata. Ili kufanya hivyo tunafanya:

andrey@vaio:~/ruby/app$ rake db:create
(ndani ya / nyumbani/andrey/ruby/programu)
andrey@vaio:~/ruby/app$ rake db:hamia
(ndani ya / nyumbani/andrey/ruby/programu)
== CreateUsers: kuhama ============================================= =======
-tengeneza_meza(:watumiaji)
-> 0.0061s
== CreateUsers: wamehama (0.0063s) ========================================= =============== ==

Console inaonyesha data iliyoongezwa. Tunaangalia katika phpmyadmin na kuona hifadhidata mpya za maendeleo na programu_test, pamoja na majedwali ndani yake. Sasa ni wakati wa kuongeza data halisi. Ili kufanya hivyo, uzindua console ya reli

Dashibodi sio kiweko tu, bali kiweko cha IRB katika muktadha wa programu yako. Kwa mfano, wacha tuunde watumiaji wawili:

andrey@vaio:~/ruby/app$ rails console
Inapakia mazingira ya ukuzaji (Reli 3.0.0)
irb(kuu):001:0> mtumiaji1 = Mtumiaji.mpya
=> #
irb(kuu):002:0> user1.name = "andrey"
=> "andrey"
irb(kuu):003:0> mtumiaji1.hifadhi
=> kweli
irb(kuu):004:0> mtumiaji2 = Mtumiaji.mpya
=> #
irb(kuu):005:0> user2.name = "vasiliy"
=> "vasiliy"
irb(kuu):006:0> mtumiaji2.hifadhi
=> kweli

irb(kuu):007:0> toka
andrey@vaio:~/ruby/app$

Wacha tuangalie hifadhidata, na kwa kweli tuna watumiaji wawili. Ningependa kutambua kuwa Reli yenyewe iliongeza safu wima za msingi na kuunda_at (tarehe ya uundaji) na sehemu zilizosasishwa_at (iliyorekebishwa) kwa mfano.

Tuna mfano, na tuna data pia. Ni wakati wa kuzindua programu yetu.

andrey@vaio:~/ruby/app$ reli seva
=> Kuanzisha WEBrick
=> Programu ya reli 3.0.0 inayoanza kutengenezwa kwenye http://0.0.0.0:3000
=> Piga simu na -d kutenganisha
=> Ctrl-C kuzima seva
TAARIFA WEBrick 1.3.1
MAELEZO rubi 1.9.2 (2010-08-18)
MAELEZO WEBrick::HTTPServer#start: pid=4193 port=3000

Programu inaendeshwa, fungua kivinjari kwenye anwani na uone ukurasa wa majaribio.

Kubwa, maombi ni kazi. Lakini inaonyesha ukurasa wa HTML wa kawaida kutoka kwa folda ya /public/index.html. Na tunataka dynamic. Fungua kidirisha cha pili cha koni (kwa kuwa mara ya kwanza tunayo seva ya Ruby inayoendesha - WebRick), nenda kwenye folda na mradi na chapa amri ifuatayo hapo:

andrey@vaio:~/ruby/app$ reli hutoa faharasa ya kidhibiti
unda programu/vidhibiti/index_controller.rb
njia pata "index/index"
omba erb
unda programu/maoni/index
unda app/views/index/index.html.erb
omba kitengo cha_mtihani
unda test/functional/index_controller_test.rb
omba msaidizi
unda programu/helpers/index_helper.rb
omba kitengo cha_mtihani
unda test/unit/helpers/index_helper_test.rb
andrey@vaio:~/ruby/app$

Kwa hili tuliunda kidhibiti cha Index, ndani yake kuna kitendo cha Fahirisi na aina ya kitendo hiki ni index.html.erb Tunafanya Upyaji (F5) katika NetBeans na kuangalia faili zetu. Kushangaza. Sasa tunahitaji kwa namna fulani kuelekeza njia ya ukurasa kuu kwa kitendo cha kidhibiti tulichounda. Fungua faili ya njia (Configuration/routes.rb) na uondoe maoni kwenye mstari ufuatao hapo:

# Unaweza kufanya mzizi wa tovuti yako upitishwe na "mizizi"
# kumbuka tu kufuta public/index.html.
mzizi:kwa => "karibu #index"

Badala ya kuwakaribisha tunaandika pia index. Kweli, nimezoea Mfumo wa Zend ambao kidhibiti na kitendo huitwa index kwa chaguo-msingi. Usisahau kufuta (au kubadilisha jina) faili ya umma/index.html).

mzizi:kwa => "index#index"

Tunaonyesha upya ukurasa katika kivinjari na kuona kwamba mtazamo wetu sasa unaonyeshwa.

Index#index

Kubwa. Sasa tunaweza kuweka msimbo Nenda kwa kidhibiti chetu kipya (Vidhibiti -> index_controller.rb) na uandike maandishi ya vitendo yafuatayo:

darasa IndexController< ApplicationController
def index
@users = Mtumiaji.find(:wote)
mwisho
mwisho

Sasa fungua view Views/index/index.html.erb na uandike nambari ifuatayo hapo:

Index#index


Nipate katika app/views/index/index.html.erb


<% for user in @users -%>
<%=user.name%>

<% end %>

Kwa kufanya hivi, tunaiambia Rails kurudia kupitia safu ya watumiaji na kuonyesha majina yao. Tunaonyesha upya ukurasa na kuona orodha ya watumiaji hapa chini.

Index#index

Nipate katika app/views/index/index.html.erb

andrey
vasiliy

Kubwa! Programu imeundwa!

Asante!

Ikiwa nakala hii ilikusaidia, au unataka kuunga mkono utafiti wangu na blogi, hii ndio njia bora ya kufanya hivyo:

Marafiki wangu wengi wa wasanidi programu walizungumza sana kuhusu Reli, lakini sikuweza kuelewa ni kwa nini. Reli ni nini, na inatofautiana vipi na Ruby kwenye Reli? Je, ni vigumu kujifunza? Je, hii hata ni lugha ya programu? Ninahitaji kujua nini kabla ya kujifunza Ruby kwenye Reli?

Maswali haya na mengine mengi yalikuwa yakizunguka kichwani mwangu kila wakati, lakini, kama ilivyotokea, sikuwa peke yangu. Wasomaji wetu pia walipendezwa na toleo hili, kwa hivyo ili kujua zaidi juu yake, niliamua kumuuliza mwenzangu maswali machache ya msingi juu ya Ruby. Hivi ndivyo makala hii ilizaliwa.

Uko tayari? Nenda!

Mambo 13 Kuhusu Ruby kwenye Reli - Unachohitaji Kujua?

1. Rails ni nini?

Rails ni mfumo wa programu ya wavuti ambao umeundwa kwa kuandika msimbo katika lugha ya Ruby. Inaonekana kuchanganya, sawa?

Hebu tujaribu tena. Kuna lugha ya programu inayoitwa Ruby. Ni furaha kuandika juu yake. Kwa njia, mtu aliyeiunda alisema kuwa lengo lake kuu lilikuwa kuunda lugha ambayo ingefanya maisha ya watengeneza programu kuwa bora. Je, hii si ya ajabu?

Ngoja nikupe mfano.

Ikiwa ninataka kuonyesha maandishi kwenye skrini kwenye PHP, ninahitaji kuandika

echo "Hujambo Ulimwengu";

Unaona nusu-koloni? Na hii "echo" - ina maana gani?

Kwa upande mwingine, ikiwa ningehitaji kufanya vivyo hivyo katika Ruby, ningehitaji kuandika yafuatayo:

inaweka "Hello World"

Hakuna semicolon, na ingawa "huweka" inaweza kuonekana kama mtoto mdogo, inaleta maana zaidi kwangu kuliko "echo." Unapotumia saa nyingi kuandika msimbo, maelezo madogo kama haya hufanya tofauti KUBWA.

Shida pekee na Ruby ni kwamba haikuundwa kwa kuunda programu za wavuti. Hiyo ni, hutaweza, kwa mfano, kuunda tovuti juu yake. Hivi ndivyo ilivyokuwa kabla ya Reli. Sina hakika kama Rails ilikuwa mfumo wa kwanza wa wavuti kwa Ruby, lakini kwa hakika ikawa maarufu zaidi.

Madhumuni ya Reli ni kutoa jukwaa na uwezo ambao utakuruhusu kuunda programu, haswa tovuti, katika Ruby. Inaonekana haieleweki kwa sasa, kwa hivyo nitajaribu kuielezea kama hii. Ikiwa niliandika

inaweka "Hello World"

kisha kwenye hati ya HTML, utaona maandishi yote. Lakini nataka uone hii TU:

Salamu, Dunia

Kuweka tu, Reli hukuruhusu kufanya hivi. Lakini sio hivyo tu.

2. Ruby ni nini kwenye reli?

Ruby on Rails ni jina KAMILI rasmi la mfumo wa Reli. Lakini katika mazungumzo, watengenezaji kwa kawaida hawasemi sehemu ya kwanza, na tu kuiita Rails. Kwa hivyo ikiwa unataka kuwa "katika kujua" na kuonekana savvy ya teknolojia, unapaswa kuiita Rails, lakini KUMBUKA kile sehemu ya kwanza - "Ruby on" - inamaanisha.

3. Nimesikia kwamba Rails ni nzuri kwa Kompyuta. Kwa nini?

Kuna sababu kadhaa kwa nini Reli ni nzuri kwa Kompyuta. Ya kwanza ni kwamba lugha ya Ruby yenyewe ni nzuri kwa wanaoanza, na hii ndiyo nyongeza ya kwanza. Kujifunza kwa kanuni katika Ruby ni rahisi zaidi kuliko kwa lugha nyingine, kwa kuwa lugha ni rahisi na ya uhuru, ambayo itaokoa mishipa yako na kukuwezesha kutumia muda zaidi kujifunza misingi ya programu.

Kwa nini reli inafurahisha sana kwa Kompyuta? Ni thabiti tu na hukufanyia kazi KUBWA.

Kwangu mimi, kufanya kazi kwenye Reli ni kama kuendesha lori. Ina nguvu sana, angalia tu - unaendesha lori !!! Hata hivyo, unajua jinsi gani gari unaloendesha hufanya kazi?

Ukweli kwamba Rails inachukua kazi nyingi zaidi, ikifanya kwa ajili yako, itawawezesha kufurahia faida nyingi za baridi mara moja. Walakini, wakati mwingine hii inaweza pia kufanya kazi dhidi yako ikiwa wakati mwingine utatangulia na usijifunze kikamilifu misingi ambayo lazima ujue.

Kwa sababu hii, ni muhimu sana kujifunza Ruby kwenye Reli kutoka mwanzo. Na muhimu zaidi, lazima uhakikishe kuwa unastarehe kabisa kufanya kazi na Ruby. Vinginevyo, utatoka tu kwenye lori hilo katikati na kujiambia, "Subiri, je, nilikuwa nikiendesha kitu hiki?"

4. Kuna tofauti gani kati ya msanidi wa Reli na msanidi wa Ruby?

Rasmi, tofauti ni kwamba "msanidi wa Ruby" safi ataunda programu katika Ruby, lakini sio kwenye Reli. Ingawa hii, kama sheria, haifanyiki. Kwa hakika inawezekana kuunda programu za wavuti katika Ruby kwa kutumia mifumo mingine kama Sinatra, lakini niko tayari kuweka dau kuwa 99% ya wakati ambao huna uwezekano wa kuajiriwa kama programu ya Ruby-pekee. Kwa hiyo, unahitaji kujifunza Rails kwa hali yoyote.

5. Je, ni lazima nimjue Ruby vizuri kiasi gani? Ninapaswa kujifunza nini kabla ya kuanza mafunzo?

Maoni yanatofautiana juu ya hili, lakini kwa kuzingatia mfano wa lori kubwa, nadhani unahitaji kustareheshwa na Ruby ili kuzama kwenye Reli. Kama tu, sema, ni bora kwanza kujifunza kuendesha baiskeli kabla ya kubadili gari, na kisha fikiria juu ya kuendesha lori.

Na hapa kuna jambo lingine. Wakati mwingi unapofanya kazi kwenye Reli utatumika kuandika nambari katika Ruby. Kwa sababu hii, unahitaji kujua lugha hii vizuri sana, hasa misingi yake: aina za data, mbinu, mwelekeo wa kitu, kurekebisha na mengi zaidi. Na sio lazima uwe mtaalamu wa programu ya Ruby - unahitaji tu kujisikia ujasiri unapofanya kazi nayo, kama bata kwenye maji.

6. Kwa nini nijifunze Reli? Ni nini kinachoifanya kuwa maalum?

Ni exquisite na tu stunning. Nini kingine unahitaji kujua? Wakati reli ilipoonekana kwa mara ya kwanza, ikawa ugunduzi halisi na mafanikio ya sanaa ya kubuni. Ukiwa na mazoea bora akilini wakati iliundwa, Rails inakuweka kwenye njia ya kuandika nambari nzuri, hata wakati hutaki (au hujui jinsi gani).

Ikiwa unataka kuunda programu dhabiti za wavuti ambazo zitakua inavyohitajika huku ikiwa ni rahisi kudumisha katika siku zijazo, Reli ni chaguo nzuri. Zaidi, ni maarufu kati ya makampuni mengi ya baridi. Sababu kubwa ya mwisho kwa nini Reli ni maarufu sana kati ya wanaoanza ni kwamba ni nzuri kwa prototyping ya haraka. Kwa saa chache tu unaweza kufikiria, kuunda na kuzindua programu ya Reli unayohitaji. Kwa kweli kuna mifumo mingine michache ambayo inaweza kushughulikia hii.

7. Unaweza kuunda nini na Reli?

Unataka kuunda nini? Reli zinafaa kwa programu yoyote ya wavuti. Ili kufafanua, angalia mifano hii mikuu ya tovuti zilizojengwa kwa Reli: Hulu, Airbnb, na Basecamp.

8. Je, ninaweza kuunda programu za simu kwa kutumia Reli?

Ndiyo na hapana. Hutaweza kuunda programu za rununu na Reli, lakini bila shaka unaweza kuunda programu ya wavuti na Reli na kuitumia kama mwisho wa programu ya rununu.

Pia kuna zana inayoitwa RubyMotion ambayo hurahisisha sana kuunda programu asilia za iOS na Android katika Ruby (lakini sio Reli). Hiyo ni, hutatumia RELI MAALUM kuunda programu ya rununu ya Duka la Programu, lakini Rails inaweza kuwa sehemu muhimu ya mradi wako wa rununu. Natumai picha sasa iko wazi zaidi.

9. Ruby on Rails - Ninaweza kupata kazi ya aina gani?

Rails ni mojawapo ya ujuzi unaohitajika sana kwa sasa, kwa hivyo kuna makampuni mengi ya kuchagua kufanya kazi nayo. Waanzilishi, kama vile Zearn, hupenda sana Reli. Hii ni kampuni inayoanzisha elimu ya IT isiyo ya faida. Unaweza pia kuchagua kampuni kubwa zaidi kama Bloomberg na kushiriki katika uundaji wa tovuti na programu zinazotumiwa na mamilioni ya watumiaji. Freelancing pia ni chaguo nzuri kwa watengenezaji wa Reli. Kuwa huru, utaweza kuchagua ni miradi gani unataka kushiriki: ndogo na ya muda mfupi au kubwa na ya muda mrefu.

10. Nilijaribu lugha nyingine ya programu, lakini sikupenda. Je, nijaribu Reli?

Ninataka kusisitiza tena - Reli, kwa kweli, sio lugha ya programu, lakini mfumo. Ikiwa umewahi kujiuliza ikiwa kuna umuhimu wowote wa kujaribu kupenda lugha yoyote ya programu, ninachoweza kusema ni kwamba Ruby ndiyo lugha ya programu inayoheshimika na inayopendwa na watumiaji zaidi ulimwenguni. Kwa hivyo nisingefuta programu hadi ujaribu Ruby.

11. Je, nijifunze JavaScript pamoja na Reli?

Badala yake - hapana. Zaidi ya hayo - BILA SHAKA.

Msanidi wa Reli atalazimika kujifunza JavaScript(). Hili sio hitaji la kujifunza Reli, lakini ni ujuzi ambao utahitaji unapojifunza.

Wacha tuwe waaminifu, unapoingia ndani zaidi katika uwanja wa teknolojia, utaanza kugundua kuwa itabidi uwe na ujuzi mwingi (kimsingi, hii inamaanisha kwamba kila mtu anapaswa kujitahidi kuwa Msanidi wa Stack Kamili). Kwa bahati nzuri, unapopata uzoefu, utapata rahisi kujifunza lugha mpya na mifumo mipya.

Kuhusu kuchagua JavaScript au Reli, nitakuambia moja kwa moja kwamba huwezi kwenda vibaya kwa njia yoyote. Ninaona Ruby ni rahisi sana kujifunza kuliko JavaScript. Kwa kuongeza, ninajua watu wengi ambao walipata JavaScript rahisi baada ya kujifunza Ruby kwanza. Lakini, kama nilivyosema hapo juu, hakika huwezi kwenda vibaya ikiwa utasoma zote mbili.

12. Mafunzo yatachukua muda gani?

Je, utatumia muda gani kwa siku kusoma? Nadhani ufahamu mzuri wa Rails unahitaji miezi kadhaa ya mafunzo ya kujitolea. Lakini kama ujuzi mwingine wowote, utahitaji makumi ya maelfu ya saa ili kuwa mtaalamu wa Rails, kwa hivyo ni bora kuanza sasa.

Kasi yako ya kujifunza itaathiriwa sana na kiwango chako cha maarifa katika uwanja wa programu kwa ujumla. Lakini ikiwa wewe ni mwanzilishi kamili, inafaa kujaribu kuanza na Ruby na Reli.

13. Ruby kwenye Reli - Wapi kuanza?

Ninapendekeza kuanza na kozi bora ya Ruby kwenye Reli inayopatikana leo. Ikiwa haujaandika safu ya msimbo maishani mwako, jambo la kwanza unapaswa kufanya ni kuchukua kozi ya HTML na CSS. Kwa bahati nzuri, ni rahisi kupata kozi kwenye HTML na CSS. Baada ya hapo, utahitaji kujifunza Ruby, Git, na mstari wa amri.

Mpango wa mafunzo kwa kawaida utakuletea Rails hatua kwa hatua, kukuonyesha jinsi ya kufanya kazi na Sinatra na ActiveRecord. Hii haikuambii chochote bado, lakini uhakika ni kwamba kabla ya kuanza kuendesha "lori" hilo nililotaja hapo awali, unapaswa kuanza na kozi za kuendesha gari za Rails.

Jambo bora zaidi la kufanya wakati wa kusoma ni kuunda mradi wako mwenyewe, fanya kazi juu ya kitu na uendeleze, ujue kuwa unaenda katika mwelekeo sahihi, na pia una msaada mzuri! Kutakuwa na mamilioni ya maswali madogo ambayo utakuwa nayo katika mchakato wako wote wa kujifunza, na ili kupata matokeo bora, ni muhimu kuwa na mtu ambaye anaweza kukusaidia kulibaini na kutoa mwongozo mambo yanapokuwa magumu.

Alexander ndiye mwanzilishi wa mradi wa wavuti wa "Maabara ya Mafanikio ya Wavuti", iliyoundwa kusaidia wajasiriamali wanaoanza na wanaoendelea wa mtandao. Kazi kuu: kukuza biashara (ikiwa ni pamoja na maduka ya mtandaoni) kupitia Facebook na Google Adwords. Hobby kuu: kuchuma mapato kwa tovuti kupitia zana shirikishi za uuzaji na Google Adsense. Rekodi za kibinafsi zilizothibitishwa: wageni milioni 3 wa blogi kwa mwezi.

Uwezekano mkubwa zaidi, uko hapa kwa sababu unataka kujifunza mfumo wa Ruby on Rails, lakini huna uhakika kabisa kuwa unaelewa ni nini. Kweli, Rails ni rundo la nambari ya Ruby iliyoandikwa kutunza sehemu za programu ya wavuti ambazo hutaki kabisa kufikiria.

Reli hutumia, kama unavyoweza kuwa umesikia, "mkutano kabla ya usanidi". Hii inamaanisha kuwa waundaji wa Rails walikufanyia maamuzi mengi kuhusu jinsi sehemu za programu zinapaswa kupangwa na jinsi msimbo unapaswa kutekelezwa. Unaweza kubadilisha hii, lakini itakuwa bora ikiwa utaingia tu kwenye mtiririko na kufanya kazi kulingana na sheria hizi (haswa ikiwa wewe ni mwanzilishi).

Fikiria kama kununua suti: labda haujali nyuzi zimetoka wapi, ambao mikono yao ilitengeneza mishono, kampuni gani zilileta vifaa kwenye kiwanda, ni vifungo vya aina gani ... unamwamini fundi cherehani kwa kila kitu. maelezo na unataka tu kuwa na uwezo wa kununua suti ambayo inafaa wewe vizuri. Reli ndiye mshonaji wako wa Ruby.

Kwa nini isiwe hivyo? Kuna idadi ya ajabu ya mifumo na safu za teknolojia za kuchagua kutoka, na, kusema ukweli, zinakaribia kufanana kulingana na uwezo wanaotoa. Reli inavutia kwa sababu ni moja kwa moja na imeandikwa vizuri. Mfumo huu unatumiwa na idadi kubwa ya makampuni makubwa ya kuanzisha na ya teknolojia, na ina jumuiya yenye nguvu ya wasanidi programu na wanafunzi wanaoiunga mkono.

Reli hukuruhusu kuunda tovuti inayofanya kazi kwa saa badala ya siku au wiki. Teknolojia za "ndani" za tasnia zinaweza kubadilika kwa muda wa miaka michache, lakini Rails inatoa jukwaa nzuri la kujifunza ujuzi wa kwanza unaohitajika ili kusonga mbele hadi ngazi inayofuata.

Kwa sababu Reli hushughulikia mambo mengi kwa ajili yako, unaweza kufanya kazi haraka sana. Unaweza kuzindua tovuti kwenye mtandao (ingawa haitakuwa nzuri sana) kwa dakika chache. Mara ya kwanza unapotoa mradi mpya, kila kitu kiko sawa, kwa hivyo unachohitaji kufanya ni kuanzisha seva yako ya karibu (kwa kuandika tu seva ya reli ya $) na unapaswa kuwa na uwezo wa kuona ukurasa wa kukaribisha wa Reli. Na unachotakiwa kufanya ni kuweka pamoja vipande vyote muhimu unavyohitaji ili kuzindua programu yako kamili ya wavuti.

Hii pia inamaanisha kuwa unaweza kuanza mara moja kufanya mabadiliko madogo na kuona jinsi yanavyoathiri programu yako, kabla ya kulazimika kujenga miundombinu changamano na kuandika rundo la msimbo ili kuona mabadiliko yaliyofanywa katika mstari mmoja. Reli zitafanya maisha yako kuwa rahisi zaidi!

Reli pia hupanga msimbo wako kwa uangalifu kwa kutumia mchoro wa MVC ambao utaufahamu na kuupenda hivi karibuni.

Njia bora ya kuelewa Reli ni kuanza kuitumia, kwa hivyo tutatumia muda kutazama video na kusoma, lakini kisha utaunda programu yako ya kwanza ya mfano maalum. Huenda hujui unachofanya, na hiyo ni sawa, lakini angalau unapaswa kuanza kuelewa kile ambacho HUJUI na unapaswa kuzingatia nini ili kusonga mbele. Wazo zuri ni kuandika mambo yote ambayo yanakuchanganya kisha kujua zaidi kuyahusu na kuyaweka akilini hadi tuzame ndani zaidi kwenye Reli.

Mambo ya Kuzingatia

Jaribu kujibu maswali uliyopewa. Baada ya kukamilisha kazi, jaribu kuwajibu tena

  • Rails ni nini?
  • Rails imeandikwa kwa lugha gani?
  • Kikumbusho: Heme ni nini?
  • Je, reli inajumuisha vito gani saba?
  • Kusudi la gemfile ni nini?
  • Unapaswa kutumia amri gani kuunda programu mpya ya Reli kutoka kwa safu ya amri?
  • Je, ombi la GET ni tofauti vipi na ombi la POST?
  • REST ni nini?
  • "Mtazamo" ni nini?
  • Kidhibiti ni nini?
  • Mfano ni nini?

Kazi:

  1. Angalia hii muhtasari wa msingi wa Reli na Michael Hartl. Inaonyesha jinsi ya kuunda programu rahisi sana ya wavuti.
  2. Soma makala bora ya utangulizi ya Daniel Kehoe Ruby on Rails ni nini? ili kuelewa tunafanya kazi na nini.
  3. Anza na Reli kwa kujaribu kozi ya Rails for Zombies, ambayo hukufanya uanze kupanga programu na Reli moja kwa moja kwenye kivinjari chako! Huenda haraka sana na huenda ukahitaji kutazama tena baadhi ya video, lakini inafaa.
  4. Kwa maelezo rasmi zaidi ya Model/Views/Controller angalia hii ni video fupi kutoka kwa Lynda.com
  5. Soma Reli kwa Kompyuta na ujaribu kuelewa kinachoendelea katika maandishi (huna haja ya kuunda programu hii ya majaribio, lakini ni thamani ya kusoma mchakato wa kuunda moja. Utaandika yako mwenyewe hivi karibuni). Labda utachanganyikiwa na mwisho, lakini usijali, hiyo ni kawaida. Hutakuwa na tatizo kuelewa hili utakapomaliza kozi ya Reli baadaye katika mtaala wetu. Rusrails inatoa baadhi ya hati bora zaidi za Reli kwa Kirusi, kwa hivyo ni wazo nzuri kuanza kujifahamisha na yaliyomo.

Rasilimali za Ziada