Dovrei usare i file .erb o .rhtml per un'app Rails in cui tutta la logica del controller esiste in Views?

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

Domanda

Sto appena iniziando a imparare Rails. Ho creato un'app Rails vuota. E invece di scrivere un controller, voglio mettere tutta la mia logica del controller nelle mie viste anziché in classi separate del controller.

Per fare questo, dovrei usare i file .erb o .rhtml e qual è la differenza?

È stato utile?

Soluzione

Prima di tutto, sono praticamente la stessa cosa ma dovresti usare il nuovo formato di denominazione standard di .html.erb

In secondo luogo, interrompi ciò che stai facendo e riconsidera tutto !!!!!

Il punto centrale di MVC è separare la logica dal display e viceversa. La maggior parte della tua logica dovrebbe essere nei tuoi modelli e il controller dovrebbe semplicemente facilitare afferrare quella logica e passarla alle tue visualizzazioni.

Non dovresti fare nulla nelle tue viste oltre a visualizzare i dati.

Altri suggerimenti

" Un client mi ha chiesto di creare e installare un sistema di scaffalature personalizzato. Sono nel punto in cui ho bisogno di inchiodarlo, ma non sono sicuro di cosa usare per battere le unghie.

Dovrei usare una vecchia scarpa o una bottiglia di vetro?

Nel tuo caso sceglierei la bottiglia di vetro .

Nelle nuove rotaie 3.0 i file .rhtml non saranno supportati. .html.erb è il nuovo standard.

Capisco che hai una piccola app e che gli standard non si applicano davvero a te, ma questo è il punto centrale di MVC. La logica dovrebbe entrare nel controller / modello e la vista è strettamente per la presentazione.

La semplice risposta alla tua domanda è no. No, non dovresti mettere la logica del controller nelle viste. Se non hai bisogno di controller, probabilmente non hai bisogno di binari. So che non è la risposta che vuoi, ma francamente ti sbagli, puro e semplice. Se vuoi imparare il framework di Rails, allora quello che ti è stato detto qui è corretto e farlo a modo tuo significherebbe semplicemente o disimparare ciò che hai appena fatto o significherebbe diventare un cattivo sviluppatore.

È così, il resto ora dipende da te.

Sì, hai ragione nel dire che i creatori di rotaie non hanno mai affermato che non dovresti usare le rotaie per app più piccole, ma hanno affermato più e più volte l'importanza del controller.

Ho creato un'app Rails vuota. E invece di scrivere un controller, voglio mettere tutta la mia logica del controller nelle mie viste anziché in classi separate del controller.

Solo per curiosità, che tipo di logica stai prendendo in considerazione? Se si tratta di una logica di presentazione, questa è una cosa, ma se si tratta di regole aziendali, caricamento di dati da un database, file xml, servizio Web / resto basato, si stanno violando i principi fondamentali delle rotaie. Hai mai sentito parlare di ASP (Classic Active Server Pages)? I framework si sono evoluti oltre questo per superare le carenze e le insidie ??come ASP per consentire di non mescolare presentazione e codice. Se blocchi tutto insieme, come testerai il tuo codice? Un altro principio chiave delle rotaie è il motivo per cui è integrato nel framework stesso, diversamente da altri framework Web.

Voglio imparare come usare lo "standard" Quadro rubino

Nelle tue risposte continui a menzionare che vuoi imparare il framework Ruby standard? In questo caso, perché non usi irb? Rails non fa parte del framework Ruby standard. In effetti probabilmente imparerai molto di più su Ruby usando irb e poi su Rails. Dopo aver familiarizzato con Ruby, prendi le rotaie.

Sono d'accordo con gli altri e se hai intenzione di prenderti il ??tempo per imparare un framework, quindi imparalo nel modo giusto e come intendeva il creatore, altrimenti manchi il punto e non vedrai perché le rotaie sono così buone framework per cominciare. Quello che speri di ottenere può essere fatto in una serie di tecnologie web: ASP, ASP.Net, PHP, JSP, Perl, ma scegli di imparare Ruby e Rails quindi non farlo come potresti fare in nessuno dei altre tecnologie web.

L'adesione a MVC è il modo per procedere alla creazione di un'applicazione. Se non si è sicuri del motivo per cui è necessario il controller, fare la ricerca. io ho affrontato mantenendo il codice in cui gli script sono incorporati nel livello di presentazione. È farsesco iniziare qualsiasi sforzo di ingegneria senza una comprensione approfondita della metodologia corretta e collaudata nel tempo. È come provare a costruire una casa usando nessuna base o modello.

Niente, davvero. È solo un cambio di filosofia tra Rails 1 e Rails 2. Prima di Rails 2, avevi file.rhtml, file.rxml e file.rjs. In Rails, quello è cambiato in file.content_type.template_engine. Quindi, con file.html.erb, il tipo di contenuto è html e il motore modello è ERb. rxml ora è xml.builder e rjs dovrebbe ora (principalmente) essere js.rjs

Nelle nuove rotaie 3.0 i file .rhtml non saranno supportati. .html.erb è il nuovo standard.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top