>> GABRIEL GUIMARÃES: Este é CS50.
Benvido ao sorprendentes Web Apps con Ruby on Rails.
Entón, para quen está interesado en web de desenvolvemento e de facer sitios web, web
aplicacións, Ruby on Rails é este ferramenta incrible que Twitter, GitHub,
Groupon, e todo tipo de moi bo, e grande, aplicacións web está a usar en
Nos últimos anos.
E é unha moi, moi legal recurso, un instrumento legal,
porque é novo.
Por iso, ten toda a nova e poderosa tecnoloxías incorporada unha
estrutura que axuda a xestionar todo tipo de cousas incribles.
>> Pero o que é un framework?
Así, unha estrutura é basicamente algo que crea -
cando comeza un sitio, se comezou a partir de cero, como abrir
gedit alí, e quere codificar todo do seu HTML, eo código de todo o seu
PHP, todo o seu CSS, todo a partir de cero -
que só vai ser unha chea de traballo.
E un cadro literalmente dálle metade do sitio web xa feito.
Entón, comeza con metade dun sitio web que ten todo o que hai para vostede.
Como as conexións de base de datos, e todos tipo de cousas que ten que se preocupar
E se está facendo iso a partir de cero, non se preocupe os
detalles de baixo nivel.
>> Pero hoxe imos exportar unha das os sitios que o calouro do
clase de 2017 probablemente está familiarizado.
Polo tanto, esta web é o sitio que eu fixo pola nosa clase durante o verán.
Era un sitio onde os estudantes de a clase de 2017 poidan loguearse e
interactuar uns cos outros.
E entón que é un mapa -
todos, onde a xente está.
E tivemos un xogo libro, un xogo de música onde vimos cancións das persoas e
libros das persoas.
Que quere ler, o que eles quere escoitar.
E a parte máis interesante é que literalmente me levou tres horas
codificar todo isto.
Porque se eu tivese que facer todo de cero, coma se abrindo gedit, el
probabelmente tomaría me 20, 30 horas.
Pero con Ruby on Rails, porque todo xa foi creado por min,
el só me deu tres ou catro horas, ou algo parecido.
>> Entón o que é Ruby on Rails.
Ruby on Rails, unha vez máis, como xa dixo, é un cadro.
Esta é unha imaxe dun cadro.
Entón, vai comezar a construír unha casa, xa ten a metade do
casa feito.
Ese é o cadro.
E Ruby on Rails é exactamente así.
E ten que pensar niso como, comeza un sitio web, comezar a súa web
aplicación, xa temos metade do que fixo alí.
Pero antes de todo, o que é Ruby?
Ruby on Rails usa a vista do modelo controlador, que é paradigma, o cal
é realmente interesante -
e todas as aplicacións nos días de hoxe usar algo como iso.
Esta idea de separar as cousas en tres partes, o modelo, a vista, e
o controlador.
Imos falar un pouco máis sobre iso máis tarde.
>> En primeiro lugar, o que é Ruby?
Polo tanto, esta é Ruby.
E este é o símbolo da linguaxe chamada Ruby.
Ruby é unha das newish_nms interpretados linguaxes, así guión.
É unha linguaxe que non está feita como C. Ela é compilada en fuga.
Entón, iso é bo, porque, así como PHP, por exemplo, tamén é interpretado, é
non compilado.
Iso é bo porque o seu portátil.
Entón acaba de pasar o seu código de unha máquina a outra.
A partir dunha máquina Linux, para un Windows máquina, a unha máquina Mac ou Apple, ou
algo parecido.
E non se preocupe detalles sobre cada un dos específicos
sistemas operativos.
El vai funcionar en todas as partes.
>> E Ruby é unha linguaxe que -
Vostedes probablemente recorda diso.
As persoas usan a función hash aplicada en C para a táboa hash
a semana pasada e tiña todo tipo de fallos de segmentación.
E entón as cousas se preocupar se esta secuencia i alí, o i cadea
aquí, foi realmente minúsculas ou maiúscula, ou este tipo de preocupante
detalles de baixo nivel.
Ben, en Ruby, se quere aplicar unha táboa hash, este é exactamente como
crear unha táboa hash.
Vostede di, dicionario, que é o nome da miña variable, = "Hash.new".
E entón dicionario ["foo"], e cando estou engadindo foo á miña táboa hash, eu son
só dicindo foo está aí.
>> E entón se eu quería comprobar se pepe estaba alí, eu acabo de dicir se
dicionario ["foo"] == true return true.
Whoa, e esa é a súa táboa de hash.
Esa é a posta en marcha de táboa hash en Ruby.
Entón, todo o mundo quería que poderían usar algo coma Ruby para rematar
pset de semana, non?
Temos todo tipo de razóns para querer usar unha linguaxe como Ruby.
Ruby ten pedras preciosas.
Gem é un nome para un tipo de biblioteca en Ruby.
>> Así, todo tipo de recursos interesantes que pode ter, por exemplo, se eu
quere integrar a miña aplicación.
Esta proposta de Harvard 2017 foi integrado ao Facebook.
Entón, vostede podería entrar, vía Facebook, a app.
Entón, se vai facelo, non se preocupe o envío dalgúns
Solicitude HTTP para Facebook, e espera para a resposta, e forzando o
resposta, e bla, bla, bla.
Acaba de facer a descarga da xoia que fai todo isto para ti.
E entón non necesita preocuparse todo isto.
>> E despois de moita axuda en liña, por suposto.
Hai moitos, moitos, moitos sitios que vai axudar tanto con
Ruby e Rails con.
E é moi divertido de código.
Exactamente porque pode deixar de se preocupar sobre estes problemas non tan divertido.
Como se algo é ou minúsculas maiúsculas, a continuación, por que é isto
dándolle un fallo de segmento, e realmente pode mergullo no moi
cousas interesantes.
Para mergullar nos problemas moi legal.
>> Entón Ruby é só como a C nun sentido.
Polo tanto, non será que de un gran salto en realidade.
Entón pon, ese é o noso programa de impresión en Ruby.
Coido que podería usar print tamén, pero pon é o que todo o mundo usa.
Entón, só pon "Ola Mundo".
Podería, ou non podería, ter o paréntese circundando
"Ola Mundo" alí.
Só pode escoller se ou para non usar iso.
E entón x = "1".
Un loop while parece moi moi mesmo.
El só ten menos de sintaxe.
É un tipo de produto de limpeza un pouco.
E entón, se x> 25 puts "Big" e outra cousa pon "Small ...".
E é unha especie de C nese sentido.
>> Entón, se ollar para iso, pode visión probablemente entender
todo o que está a suceder.
Pero é máis poderoso.
Máis poderoso, porque, máis que iso, Pode facer cousas que non son -
algún tipo de hackage un pouco.
En C non podería facer en só facer unha liña.
Por exemplo, pon "Eu son # {x}".
Este é só sintaxe para poñer o valor x aquí, e non imprimir o
carácter x.
En C que tiña que facer a porcentaxe d, e a continuación, colocar-se a variable x trala
coma aquí, ou algo parecido.
>> E en Ruby hai un atallo para só facelo.
E pon iso, se x> 3, entón podes poñer o se todo nunha liña.
E, a continuación, unha lista.
Listas en C, como un array, ten que seguir como o seu gran matriz é ou
se non ter unha segmentación falla.
Súa matriz é só un tipo.
Polo tanto, é un array de carga ou unha matriz de números enteiros.
Neste caso, eu criei unha lista aquí, que é unha matriz, que ten o primeiro
elemento é unha cadea, John, e despois catro, dous - eses son números enteiros.
E entón eu só engadir, lista, o Esquerda Angle bracket, Esquerda
Angle bracket, tres.
Isto significa que só achegar algo para miña lista.
>> Entón, é unha especie de máis interesante porque se quixese usar isto como
só unha simple lista de números enteiros, podería, totalmente.
Isto é totalmente bo.
Basta pór enteiros alí.
Pero se quere facer algo que é máis atractivo, que ten outro
cousas, que ten -
Non sei, todo tipo de listas en alí, ou outros obxectos que son máis
interesante, pode facelo totalmente.
É totalmente ben.
E entón se quere para percorrer Na lista, pode utilizar o
máis tipo C-ISH de visión.
Isto é para loop, que inicie unha variable, i = "1", ou i = "0".
E entón vai, e interactuar, e obter todos os elementos.
>> Pero tamén pode usar este visión máis Rubi-like.
Isto é só como un list.each.
Isto está só dicindo, me voltar todos os elementos da lista.
E facer con cada elemento, chamalos de ELEM.
Polo tanto, este é só un nome que eu son dando a cada elemento.
E agora isto vai repetir para todos os elementos, e ELEM, vai
ser o camiño que temos acceso que un único elemento.
Entón, vostede podería totalmente manter o Abordaxe C, pero funciona tamén.
E é exactamente o mesmo, Aceptar.
>> E ademais, é realmente, realmente fácil de integrar Ruby e HTML
xa que vostedes están interesados en aplicacións web.
HTML é sempre algo que vai empregar moito.
E aquí, se quere poñer o Ruby HTML, só comezar, <%.
Isto significa que, aquí comeza o Ruby.
E entón%>, como forma de PHP nese sentido.
Aquí remata o Ruby e, a continuación, pode só tes que poñer o seu caso aquí.
E entón eu teño algunha variable user.logged_in.
En Ruby, que normalmente engadir aqueles, sexa punto de interrogação ou de exclamación
marca, como un personaxe de base, só para o tipo de
distinguir entre as funcións.
Pero acaba de poñer que para o seu propio ben.
Non é algo que cambia nada na funcionalidade.
>> Entón, só para me lembrar que este é un función - e as funcións en Ruby,
en vez de C, como eu xa dixen, non precisan dos parénteses.
Así que sesión cousa, iso é unha función, que é un método.
Pero non precisa explícitamente poñer os parénteses alí.
Entón, só tes que preguntar se o usuario de sesión, e se o usuario de sesión, agora
HTML comeza de novo.
Entón, benvido, e aquí Eu imprimir o user.name.
E é iso.
Entón, iso é moi sinxelo, como a integrar o Ruby co seu HTML.
E os recursos, como dixen, hai todo tipo de recursos para Ruby.
Podedes ollar iso despois porque tanto o video, e
diapositivas, van estar dispoñible en liña.
>> E agora imos entrar en Rails.
Rails é o amor.
Carrís -
así Ruby é a súa linguaxe.
OK, así como PHP, así como Python.
É unha linguaxe de alto nivel, non como C. Un medio, linguaxe de baixo nivel de C en
sentido de que Ruby que non ten que preocupe a realocação de memoria e
punteiros, e eses tipos de cousas.
Pero Rails é este programa que foi escrito en Ruby.
E emprega Ruby, a fin de ter a cadro, para que sexa capaz de
construír aplicacións web impresionante.
>> Entón tes que instalar primeiro o Ruby on súa máquina, pero a maioría das máquinas
xa ten iso.
E, a continuación, instalar os carrís enriba dela.
Nós imos falar sobre iso máis tarde.
E por que Rails?
Entón, MVC, que é o controlador de vista do modelo falamos un pouco
bit, fai todo máis sinxelo porque divide as cousas que son
conceptualmente diferentes en diferentes partes da súa aplicación.
Menos tempo gastado en problemas de baixo nivel, de novo, e moito, moito
popular agora.
Entón, para todos aqueles que están interesados ​​en a posta en marcha de escena, ou en algo
como iniciar negocios, e as persoas no mercado de tecnoloxía, que son
comezar o seu propio negocio agora son moi, moi fans de Ruby on
Rails porque é moi rápido.
>> Entón pode obter algo en marcha en menos dun día, e iso é
realmente un moi atractivo argumento para usar Ruby.
E Rails 4.0 -
é moi fresco do forno agora.
Entón, Rails 4.0 -
Coido que a primeira versión foi en marzo deste ano.
E é moi bo, ten todo tipo de novas características, cool.
Entón Ruby on Rails é un framework que se sendo constantemente actualizado para ter todo
da nova tecnoloxía.
>> A primeira vez que eu tente utilizar Ruby on Rails, eu tiña ese problema, porque eu
creei a miña primeira aplicación web, e parecía exactamente así.
El crea todos estes ficheiros a ti, e eu non tiña idea do que -
o que é iso?
Creou todos eses arquivos, e eu só quería crear un programa sinxelo, unha
páxina HTML simples.
E eu non podía mesmo facer nada.
Entón, eu estaba un pouco resaltado.
Pero iso é unha das cousas que unha vez que entendela, todo se fai tan
moito máis clara.
Polo tanto, non se desánimo co primeiro de vista o que se crea en primeiro lugar.
>> Entón o que ocorre é o Rails crea todos os ficheiros.
Así, un dos que se doc, documentación.
Db, o que está relacionado coa base de datos.
GD, que é rexistro bibliotecas.
Pública, guión, e algunhas cousas.
Practicamente todo o que vai se preocupar é sobre o cartafol de aplicacións, alí enriba.
Esta é o cartafol que contén súa aplicación.
Todos os outros arquivos -
algúns deles son importantes, e está Vai aprender sobre iso máis tarde.
Pero eles están aquí só para conter o cadro.
Así, a primeira pedra angular da casa vostedes están construíndo, OK?
>> Pero o cartafol app -
iso é o que realmente importante.
E o cartafol app ten activos.
Activo é todo moi bonito que está por vir.
Imaxes por exemplo, todo o que é estática que será descargado
para a súa web.
Así, imaxes, JavaScript, CSS -
estes tipos de cousas son activos.
Controladores -
imos falar máis sobre cales son os controladores, modelos,
e campos nun segundo.
E axudantes son funcións que pode utilizar todo o seu código
para axudar a facer algo.
Funcións como sesión, para exemplo - user.loggedin.
Iso é unha función que probablemente ten que usar en todas as partes do seu
aplicación.
Así, pode pór algo así como que na súa axudante.
>> Usuarios -
iso é se está indo para enviar un correo electrónico para os usuarios, vostede
Quere usar unha mala directa.
E os modelos e puntos de vista, imos para falar sobre iso agora.
Así, o controlador de vista do modelo, que é a pedra angular básico de Ruby on
Rails, ea maioría dos encadramentos hoxe en día, para ser honesto.
Entón, de novo, nós separamos todo o noso código en tres partes distintas.
O modelo -
o modelo é basicamente a base de datos.
El trata sobre as cousas na base de datos.
>> Así, cada táboa na base de datos ten un ficheiro correspondente dentro do modelo.
Entón, é unha especie de mesa para os seus usuarios.
Entón, está almacenando información como o nome de usuario, os seus correos electrónicos, o seu
enderezo, o seu contrasinal, e cousas así.
Vai ter un arquivo en o modelo chamado rb usuario -
rb para Ruby.
E alí vai ter todo dos métodos e das variables.
As variables están indo para corresponden para o nome do usuario, correo electrónico, e
todo.
>> E vai ter os métodos.
Isto vai ser algo ao respecto -
está indo a xestionar esta información na base de datos.
Para crear un modelo con Rails, acaba de usar Rails xerar.
E para crear as cousas en Rails, vostede realmente precisa da terminal.
Polo tanto, é un moi de terminal framework baseado.
Acaba de entrar no terminal, e non Rails, xerar modelo.
E o nome do modelo é usuario.
E eu só quero ter dúas variables, dúas columnas, na miña mesa.
Entón, iso é e-mail.
E-mail é un tipo cadea.
Contrasinal, o contrasinal é tamén un tipo cadea.
Estas son as dúas únicas cousas.
É unha especie de unha táboa de usuario simplista.
Pero podería completamente poñer cen cousa está aí, se quixese.
>> E Rails tamén fai moito, moi simple para ter todo
tipos de relacións base de datos.
Por iso, normalmente, cando ten táboas na súa base de datos, non son moi
independentes unha da outra.
Imos pensar.
Quere mercar e vender produtos en liña.
OK, entón tes un sitio onde quere mercar e vender produtos.
Así, cada usuario ten moitos produtos que este usuario está disposto a vender.
E cada usuario tamén ten moitas transaccións que están en curso, ou
algo parecido.
E as transaccións son con outro usuario.
Cada transacción pertence para dous usuarios diferentes.
O usuario que está a mercar e o usuario que está a ver.
>> Entón eses son os chamados relacións de base de datos.
E aquí temos exactamente esas palabras clave, ten moitas e pertenza.
Esas son as máis importantes.
E está indo só para dicir, por exemplo, este é o exemplo dun
modelo en 2017 o sitio web da Harvard.
Unha vez máis, os alumnos aquí -
cada alumno na páxina web, estudante é un modelo, é unha táboa de base de datos.
Cada alumno tiña moitos libros, porque podería dicir, cales son os seus favoritos
libros, certo.
Así, cada libro pertence a un estudante aquí.
E atribúen accesible -
que só está dicindo, os son as variables.
Estas son as variables accesibles a partir deste modelo.
E as variables son o autor o libro, descrición, xénero e
Título do libro.
Así, só a información acerca do libro.
>> E aquí eu teño un método que simplemente ordena todo.
Así, definir e termina aquí, que é só dicindo, aí ven o meu método.
Self.sorted_all.
Isto é só, dáme todo resolto, e é así que aplica
o algoritmo de clasificación, que é moi fácil.
Pero, basicamente, é así un modelo parece, Aceptar.
Alguén ten dúbidas sobre esa cousa de base de datos?
Relacións?
Iso está claro?
Si
>> Audiencia: Pode facer o algoritmo de ordenación?
>> GABRIEL GUIMARÃES: O algoritmo de ordenación, Aceptar.
Cando se acostumar a sintaxe Ruby, iso se ve claro.
Pero, basicamente, é elems Book.all.
Entón libro é o nome do meu modelo.
Cando se crea un modelo, el ven con todo tipo de métodos agradables para ti.
Así dot.all é un método que retorna todos os libros.
Pero atopar, por exemplo, estaba a buscar un libro e devolver o libro, ou
algo parecido.
E así elems é todo.
E eu só digo elems.sort.
Ordenar é unha función built-in Ruby.
>> E, facer ab.
Polo tanto, este non é outra vez -
está indo a clasificar.
Pero vai conseguir este argumento para min.
E o argumento utiliza - este é un dos as cousas máis difíciles en Ruby, en realidade,
facede isto cousa.
Pero unha vez que entende todo vén moi, moi intuitiva.
Así, o ab, este está dicindo que o sitio titulares que vou usar - como
as variables que vou usar, son será chamado a e b.
E estes son os libros.
>> Entón, por mor especie necesita comparar elementos, recorda diso?
Entón, cando resolver as cousas, comparar dous elementos.
Eu vou dicir que cada vez está indo a comparar -
polo que esta é, eu estou pasando para clasificar un argumento.
E o argumento é todo de facer para e aquí, OK?
E ese argumento, é só dicir tipo como comparar.
Ordenar ía traballar aquí, pero sería comparar coa súa
estándar comparando algoritmo.
Quero-o para comparar dun xeito moi específica forma, ou sexa, cando o libro
Foi creado, cando cada libro foi creado.
>> Entón, eu estou dicindo, diga o nome do primeiro libro é un e outro nome
segundo libro como b, quero clasificación para clasificar algo baseado en b.created_at esta
símbolo estraño, a.created_at.
E ese símbolo estraño é unha abreviación pois se un é maior que o
outros, retorno 1.
De ser igual ao outros, retorno cero.
Se é menor que o outro, o retorno menos 1.
Entón é iso que este símbolo estraño é.
>> Pero iso non é importante.
Quero dicir, o que quero que vostedes chegar agora é a idea de que a base de datos -
pode que o modelo de alí.
Así que non se preocupe conectar e utilizar instrución SQL,
e cousas así.
Tamén pode crear portas a Inxección de SQL e todo
tipo de problemas de seguridade.
Neste caso, non preocupar con iso.
Acaba de utilizar métodos como book.all.
E que, no fondo, por suposto, está indo ao seu banco de datos, e é
Vai usar unha instrución SQL para obter todos os libros.
Pero non ten que preocupar con iso.
Ese é o takeaway, OK?
>> E cando ten unha declaración belongs_to así, o que significa que
xa que ten un obxecto libro, pode ver o que é o seu alumno.
Entón, cal alumno ten este libro?
Así, podemos usar só book.student e que lle dá o que o alumno está.
E iso é unha característica realmente ter.
>> OK, agora a vista.
Así, o modelo é o que interactúa con a base de datos, non?
A vista é basicamente HTML, e CSS, e algún JavaScript.
E iso é o que o usuario realmente ve.
O usuario non vai ver o seu banco de datos.
El vai ver algúns datos do base de datos incorporado no espectador.
Ruby on Rails fai realmente sinxelo de facer campos.
En primeiro lugar, porque xa crea para ti, fóra da caixa, un esquema.
>> A disposición é, basicamente, algo que -
se todas as súas páxinas ten un logotipo na parte superior e, eu non sei, algún menú ou
algo así, que todas as súas páxinas teñen en común, así que non facer
que crear moitos, moitos, moitos HTML arquivos onde todos os ficheiros teñen que
mesmo código HTML.
Quero dicir que é mudo, porque está só repetindo código entre arquivos diferentes.
Isto definitivamente non é unha boa visión.
>> Entón Ruby on Rails crea este esquema para ti.
E este é só dicir, as miñas páxinas van ter este HTML, esta cabeza
Título aquí, e estes son estilo tag ligazón folla.
Chama aquí todo o meu CSS.
Chama aquí toda a miña JavaScript e algunhas etiquetas meta.
Isto é só algo que facer automaticamente para ti.
E, a continuación, acabar coa cabeza, agora aquí comeza o corpo.
E agora esta é a miña contido real.
Entón, se eu quería poñer algo así como un menú aquí, eu ía poñer-lo dereito sobre
este lugar, ou algo parecido, de xeito que todas as miñas páxinas compartidas lo.
Así, o esquema é compartida por todas as páxinas.
>> Agora que o rendemento aquí só di, non importa o que as páxinas é dicir, só
Póñase o contido desta páxina aquí, OK?
E agora que é, por exemplo, o contido dunha páxina que vai ser
conectados a esa declaración de renda automaticamente polo Rails.
Pero este é un esquema compartido por todas as páxinas.
E este é un exemplo dunha páxina.
E esta é precisamente a páxina que lista todos os libros.
Polo tanto, esta é unha táboa HTML básico enriba.
Entón, list libros, un título, autor, descrición, xénero.
>> E aquí usamos, unha vez máis, algúns Sintaxe Ruby, @ books.each--
@ Tipo de di que a variable é global nun sentido.
Como esta variable foi de feito declarados no controlador que
vai ver agora.
Pero pode dar por feito que esta @ Libros é unha variable que é unha lista de
todos os libros.
Entón books.each, non, e de novo, este é só dicindo como quere nomear
cada un dos iteradores para que non se preocupe un catro, int i
bla, bla, bla.
Acaba de tomar cada un dos elementos e usalos.
>> Polo tanto, este é o libro, e despois é só imprimir aquí. book.title, book.author,
book.description, e bla, bla, bla.
E aquí está unha link_to.
Entón link_to é só unha etiqueta ligazón que un usuario pode premer e
vai a outro sitio.
Link_to, amosar que o libro particular.
Polo tanto, se o usuario está moi interesado en Neste libro, entón pode facer clic no concerto.
Ou prema en editar, se quere para editar o libro.
Ou destruír, se quere eliminar o libro a partir da base de datos.
OK, iso ten sentido?
Boa.
>> Finalmente, o controlador.
Entón, basicamente, o controlador é a interface entre o
modelo ea vista.
Así, o modelo é a parte do seu código que ten base de datos -
cada táboa na base de datos ten un arquivo no seu
modelo, e así por diante.
E como o modelo e o punto de vista interactúan?
Así, a través do controlador.
O que un controlador fai é que é o modelo para algo como, por exemplo,
poñer todo o libro dentro dunha variable.
Como este, @ libros.
>> E ten que ser global, con esta a cousa, porque vai ser
acceder polo punto de vista.
El non vai ser usado dentro o propio controlador.
E iso só retarda información que a visión vai usar.
Por exemplo, o controlador verifica se o usuario está en liña.
E como fai iso?
El realmente pide o modelo xa que o modelo ten o
información sobre o usuario.
Ten unha mesa de usuarios, os libros mesa, outras táboas.
Así, o controlador pregunta se o usuario está en liña.
Se o usuario está en liña, o controlador trata sobre cousas como poñer unha cookie,
ou algo así, para poñer o selo quere dicir que o usuario está en liña.
Non hai necesidade de entrar de novo.
>> E el vai cargar unha variable chamada usuario, por exemplo, que o
vista pode usar.
E a vista pode poñer algo aquí, por exemplo, Benvido user.name.
Entón, vai dicir: Benvido Xoán, Benvido James -
algo así, non?
Entón, todas estas variables empregadas na vista será cargado no
controlador e van ser tirado para arriba a partir do modelo.
>> Este é o exemplo dun controlador.
Polo tanto, temos, basicamente, cada un -
chamamos estas accións as cousas.
Así, o índice é unha acción.
É unha función Ruby.
É un método Ruby in alí.
Pero para as chamadas de controladores estas accións cousas.
E cada acción está relacionada a unha ruta.
Entón aquí esta ruta, por exemplo, é unha instrución Get / books.
Entón, se vai a harvard2017.com/books, o que vai ocorrer é ese código é
será chamado.
>> E non hai un ficheiro -
déixeme abrir este rapidamente.
Hai un ficheiro chamado ficheiro raw.
Non está abrindo.
Polo tanto, hai un ficheiro chamado ficheiro raw que basicamente corresponde -
Oh, agora está abrindo.
Aquí, rutas.
Entón, basicamente, corresponde a unha tensión, activación / new por exemplo, para
algo no controlador.
Entón hai ese controlador chamado controlador de activación, pero aquí,
temos os libros, por exemplo.
Así, corresponde -
Libros / novo, para o controlador libros, a acción nova.
Entón, basicamente, moi simple cousas.
>> E aquí, se tivese que estar / libros, reducir o ID dos libros, barra nova,
está indo a ir a ese Método Rubi alí en baixo.
Entón, aquí, que ese índice está facendo é só premer rexistro book.
Isto é algo que -
Eu rexistro todos os libros nun rexistro.
E resolver todo.
Entón, iso vai volver todos os libros ordenados.
É dicir, de novo, na base de datos.
Polo tanto, este é un método de o modelo.
Viu a rede pode creados no modelo.
Agora, esta é só cargar todos os libros e poñer isto nunha variable que
se pode ver pola visión.
>> Porque non pode, no medio da o seu código HTML, non pode chamar
algo directamente do modelo, porque, por dúas razóns.
En primeiro lugar, por razóns de seguridade, xa que non é realmente interesante para ser
Cargando información directamente dentro cada HTML que está na base de datos.
E segundo, para manter a súa código realmente organizado.
Así, separar exactamente o distintas partes.
Así BookLog.sorted_all, é dicir o base de datos e iso vai poñer en
unha variable @ libros.
E agora esta variable é accesible dentro do seu código HTML.
Así, pode simplemente poñer todos os libros alí só como fixemos, aquí.
Esta é a variable.
>> E visitas respond_to facer | formato |, esta é só unha especie de sintaxe Ruby para
se o usuario está me pedindo Código HTML, eu vou
responder con código HTML.
O usuario pregunta-me con código JSON, que é algo que as aplicacións web empregan
para comunicarse entre si, eles xeralmente usan JSON ou algunha outra
tipo de cousas.
El só responde a usar os dous formatos diferentes.
Pero para un usuario normal, este non precisaría estar aquí.
Só ía responder con HTML, e iso é bo.
Entón, realmente non se preocupe que moito sobre iso.
Esta é a única liña de código na nosa control, como é a carga do HTML
base de datos, poñendo en algo que é accesible por a vista.
>> E, a continuación, novo, entón aquí Estou creando libros.
Pero para crear libros, eu teño un estudante porque eu teño que saber o alumno
cuxos libros este pertence, certo.
Entón @ alumno = Alumno.
Student, unha vez máis, estamos comezando con un gran S é o alumno modelo.
OK, entón iso é o alumno modelo, este é o rexistro do libro modelo.
Student.find, polo que estou indo para atopar unha alumno a través da identificación de parámetros.
params.id, iso é só incorporarse o valor me deste ID que foi pasado -
ea URL.
>> Só tes que ir a buscar aquel alumno.
E en primeiro lugar, imos comprobar O alumno ten algúns temas
e bla, bla, bla.
E este xa manexa o caso en que o estudante
Non hai, por exemplo.
E, a continuación, outra cousa, nós só responder para o mesmo usando HTML.
E entón podemos permitir que o usuario crear as súas cancións.
Entón, iso é novo.
Novo é xeralmente usado para, imos o usuario crear algo.
E despois hai a acción de crear que xeralmente se usa para -
realmente poñer as cancións na base de datos ou algo parecido.
Pero unha vez que comezar a usar Rails, esas cousas van ser
moito, moito máis clara.
OK, arrefriar.
Todas as preguntas ata agora?
Será que ten sentido cos controladores, modelos, campos -
É mesmo?
>> Unha vez máis na súa aplicación Rails -
entón todo iso se pode atopar aquí.
Entón tes aplicación, os controladores, os son todos os meus controladores.
Así, por exemplo, libros de controlar.
Isto é o que nós acabamos de ver.
E entón vistas.
E cada controlador ten unha visión asociada, non?
Entón automaticamente cando chama iso índice aquí, por exemplo, ou cando
chamar iso de libros novos, entón o punto de vista, libros, novo vai ser chamado.
>> Entón Rails fai todo automaticamente para ti.
Así, cada controlador ten unha asociada e ver todos os modelos -
aquí eu teño un, dous, tres, catro, cinco modelos.
Pero este é un modelo de estudante, para os son as variables que todo o
alumnos teñen - localización, data de nacemento.
Os alumnos é algo máis complicado, xa que cada alumno ten
máis método diferente asociado a el.
Pero este é só xestionar o táboa que tiña todo o
alumnos na base de datos.
>> E, OK, a instalación de Rails.
Instalar o Rails, para ser honesto, non é a cousa máis simple.
Pero unha vez que pasar por todo, é moi, moi fácil.
Así, a instalación Rails, é só ir ao web, rubyandrails.org / Descargar
e seguir as súas instrucións.
Descargar todo.
E pode facelo tamén en Appliance, no CS50 Appliance, en
Fiestras, en Mac, ou calquera operación sistema da súa elección.
Ruby on Rails é executado en todo.
>> As probabilidades son que xa instalou o Ruby se ten un Mac ou -
nos aparellos Creo que Ruby é -
Non estou seguro.
E entón só ten este software instalado.
E se queres crear un novo aplicación web, só
facer Rails, novo, do blog.
Rails, novos -
Eu non sei -
o nome do seu sitio.
E é tan sinxelo.
>> Vai crear a todos aqueles arquivos que acaba de amosar.
Pero o modelo, a vista, ea controlador non van ser
poboada aínda.
Só vai ter que ir alí e cubrir esas tres cartafoles.
Así, as probabilidades son, quere crear un modelo, por exemplo, aplicar un
primeiro modelo.
Entón, de novo, sempre intentando morder menor bits dun problema de cada vez.
>> E entón, imos dicir, crear un modelo para os seus usuarios.
Esta é o primeiro se ten usuarios.
Entón, quero crear un modelo así como nós amosamos aquí.
Rails, xerar, modelo, o usuario, logo correos electrónicos cadea - temos isto aquí.
E xustamente crear este modelo, si.
Rails xerar modelo de correo-e do usuario: cadea contrasinal: cadea.
>> E entón crea un controlador que trata sobre o usuario.
E pode crear novos usuarios e facer eses tipos de cousas.
E entón pode pasar á creación o resto do seu sitio.
Cool, preguntas?
Si
>> Audiencia: [inaudível]
>> GABRIEL GUIMARÃES: Si, si, sempre ten que ir á vista.
Esta é unha pregunta moi boa.
Así, a visión é o que realmente contén o HTML.
Por iso, é o que os usuarios imos ver.
De novo, aquí, esta é unha exemplo dun punto de vista.
Ten código HTML e Ruby de código, á vez.
Así, o código Ruby está aí para poñer as cousas a partir da base de datos, por exemplo,
que foron cargados no controlador.
Así que a variable @ libros, por exemplo, ten todos os libros ea táboa
libros na base de datos.
Ten por seguro de que tiña no controlador.
>> E a vista -
cada unha das páxinas do seu sitio é Vai ter unha visión asociada.
Entón, se ir á páxina de inicio, a primeira páxina, harvard2017.com.
Isto amosa unha páxina.
E entón vai cortar perfil.
Isto está indo a ir a un controlador que é un controlador de perfil.
E o controlador perfil vai para darlle a vista de perfil.
E a vista de perfil se ve algo como iso, pero só pode
ter información sobre o usuario, e non sobre os libros.
>> Polo tanto, é de código HTML e CSS e aqueles cousas que un usuario ve
co código Ruby -
que realmente imprime cousas a partir da base de datos.
Isto é máis claro?
Espero.
>> Audiencia: O código HTML utilízase para realmente facer o sitio web que o
usuario ve, pero o código Ruby é o que fai o traballo web?
>> GABRIEL Guimarães: O código Ruby se converter en HTML.
Entón, o que o usuario recibe é só HTML, OK?
É só HTML.
Este book.title vai converterse ao o valor de book.title en HTML, Aceptar.
Entón iso é todo o servidor, e así por iso depende do que os libros están aí
no servidor no momento.
Pero o que o servidor faría inmediatamente sentido é só o código HTML, Aceptar.
>> Pero a visión só dá o esquema o que o HTML foi indo ollar como
e que as variables van ser.
Este tipo de saída de impresión, Aceptar.
Esas cousas hai basicamente imprimir outs.
Eles están indo para imprimir variables, Aceptar.
Entón, o que é máis que HTML, os -
autor, título, descrición.
Isto é contido estático.
Iso non vai cambiar.
Isto é código HTML simplemente.
Estas son as impresións para as variables -
cousas que dependen.
Cool, máis preguntas?
Bo?
Si
>> Audiencia: Coido que estaba facendo todo a edición dun texto diferente
programa de edición.
Debemos tamén descargar que?
>> GABRIEL Guimarães: Si, eu gusto diso editor de texto chamado TextMate.
E é moi bo.
É ben axeitado para Ruby.
El cores cousas moi ordenadamente.
Entón, TextMate, T-E-X-T. Vou poñer iso, espera -
>> Quere dicir que pode usar o Gedit ou calquera cousa que sexa.
Pero este é específico para Mac, e iso é moi legal porque pon todo
os seus arquivos alí en baixo.
E en Ruby on Rails, ten que para intercambiar arquivos moito.
Por iso, é moitos, moitos arquivos só ir dun ficheiro, pule para
un ficheiro ou outro.
Entón TextMate é moi bo, pero hai moitos por aí.
Máis preguntas?
OK, non é?
>> Audiencia: Existe un desenvolvemento móbil mediante Ruby on Rails?
>> GABRIEL GUIMARÃES: Teño escoitou falar de cousas.
Eu non usei eles.
Podes buscar máis sobre iso.
Eu non estou seguro se hai algunha cousa boa por aí.
OK, non é?
>> Audiencia: [inaudível]
>> GABRIEL Guimarães: Non Rails, probablemente variedade Ruby.
Abre unha xanela de terminal e tipo, "Ruby".
Si, probablemente, e entón Só ten que instalar Rails.
Pero se está indo a instalar a nova Rails 4.0, que eu recomendo,
ten que baixar o Ruby 2.0.
Ese é o novo tamén.
E os novos Rails 4.0 ten algo moi legal que
fai para os activos.
El trata sobre os activos.
Activos de novo son imaxes, arquivos CSS, e arquivos JavaScript.
Entón, unha cousa moi legal que Ruby on O Rails para vostede é todos aqueles CSS
arquivos que ten e todo -
el simplemente embalaxe todo para arriba nun enorme arquivo, sen espazos ou calquera cousa,
para minimizar o tempo que o usuario ten descargar o código do teu servidor.
>> Entón, cando ve no seu ordenador, é terá uns 15 arquivos CSS.
Ou moitos, moitos arquivos CSS diferentes.
Con todo, ao final do día, o que Carrís automaticamente fai para vostede é que pon
todo xunto nun arquivo enorme de xeito que minimiza o tempo solicitude.
Iso é moi legal.
Si?
>> Audiencia: [inaudível]
>> GABRIEL Guimarães: Exactamente.
Así, a integración de Google.
Esta é unha API JavaScript de Google.
Entón, eu só fun ao sitio web de Google.
Teñen esa API de Google Maps e eu descarga do código e integrouse
no meu punto de vista.
Entón, o que eu precisaba facer alí é que eu precisaba para obter o
locais da base de datos.
Iso foi feito no controlador.
Entón eu fun para o controlador -
onde está o controlador.
O controlador quedou así.
Teño todos os lugares do alumnos, poñer todo isto en un gran
variable, unha lista grande, que ten todos os lugares.
>> E o punto de vista, xa que o JavaScript API é algo no
ver, non?
Porque JavaScript execútase dentro do seu HTML código, que será enviado a
máquina do usuario.
E o punto de vista, eu cargueime todo isto información para o API de Google.
E fixo todo isto para me, o que é moi legal.
Pero se quere usar as cousas no back-end, e é como unha biblioteca, para
exemplo, unha vez máis -
a integración con Facebook.
Isto é algo que moitos, moitos, moitas aplicacións están utilizando hoxe en día.
>> Entón, ten a súa integración con Facebook porque é moito máis doado de só
Entrar con Facebook que para crear unha conta e bla, bla, bla.
Entón acaba de usar unha xoia e é tan sinxelo como ir ao seu arquivo de xoia.
Gem ficheiro é un ficheiro chamado ficheiro de xoia en o directorio de orixe do seu Ruby on
Rails proxecto.
Só tes que ir alí e engadir nova xoia.
E buscar en Google.
Hai moitas, moitas, moitas pedras preciosas.
Hai un que especificamente fai esta para a integración de Facebook.
Eu non estou seguro cal é o seu nome.
Só Google e está Vai atopalo.
OK, máis preguntas?
Impresionante, moitas grazas por teren benvida.