GithubHelp home page GithubHelp logo

quizzly's Introduction

Quizzly

Una piccolissima app per RailsGirls Roma 2014

ATTENZIONE / WARNING

Usa versione vecchia di rails. Ci sono buchi di sicurezza, non usare senza portare a rails 5.2.x

Creiamo il model Quiz

tramite il generator degli scaffold:

rails generate scaffold Quiz subject question:text image_url --stylesheet-engine=css --javascript-engine=js
rake db:migrate

Gia' fa parecchie cose! - Vediamo un po' la struttura dell'applicazione!

Ok ma l'immagine non si vede!

E' vero! Vediamo come farla visualizzare; Questo ci da modo di parlare dell'html

Un quiz e' niente senza domande!

Creiamo un model per le risposte: Answer.

rails generate model Answer text:string correct:boolean

Parliamo delle associazioni. Un quiz ha molte domande, e le domande appartengono ad un quiz. Modifichiamo quindi le classi generate e la migration. Ora possiamo giocare con la console e aggiungere risposte ai quiz

Ma che senso ha un quiz senza domanda, o una risposta senza testo?

Nessuno! Aggiungiamo delle validazioni. Le validazioni sono (parte di) quello che in linguaggio serio si chiama "business logic" - anzi a essere precisi business rules (l'ho saputo ieri sera!)

Il fatto e' che vorremmo poter aggiungere le risposte tramite l'interfaccia web

Prima correggiamo l'errore di sintassi che avevo fatto nel passo precedente sulle validazioni

Dopodiche'.. Mi sembra una richiesta ragionevole! Per far questo, usiamo delle feature di rails che rendono piuttosto facile il tutto. Ma comunque e' il passo piu' lungo fatto finora! Ma prima parliamo un po' del controller. Iniziamo a dire al model che accetta attributi annidati; poi nella form di quiz aggiungiamo la f.fields_for... ; Nel controller dichiariamo che quiz accetta anche questi attributi, aggiungendoli ai quiz_params (qui si potrebbe parlare di sicurezza?); Infine Vorremmo che le risposte siano mostrate anche nella show del quiz, renderando @quiz.answers

A questo punto vorremmo creare il front end; Niente paura, sara' meno orribile del backend!

Potremmo anche mettere tutto dentro allo stesso controller, ma il modo pulito e' invece quello di creare un nuovo controller; Per ora e' prevedibile che si possano fare due cose: visualizzare una domanda a caso, o rispondere a una domanda.

rails generate controller FrontEnd question answer

Poi facciamo come dice: http://guides.railsgirls.com/app/ (a meno della parte dopo , che non ci serve)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.