Τι είναι ένα αρχείο ERB;
Η γλώσσα eRuby είναι ένα σύστημα προτύπων που ενσωματώνει το Ruby σε ένα έγγραφο κειμένου. Το σύστημα προτύπων του eRuby συνδυάζει τον κωδικό ρουμπίνι και το απλό κείμενο για να παρέχει έλεγχο ροής και μεταβλητή υποκατάσταση, καθιστώντας έτσι εύκολη τη διατήρησή του. Χρησιμοποιείται συχνά για την ενσωμάτωση του κώδικα Ruby σε ένα έγγραφο HTML, παρόμοιο με το ΑSР, JSР και РHР και άλλο διακομιστή -πλευρικές γλώσσες γραφής. Το ERB Ruby δημιουργεί συνήθως ιστοσελίδες.
Η μονάδα προβολής του Ruby оn Rails είναι υπεύθυνη για την εμφάνιση της απόκρισης ή της εξόδου σε ένα πρόγραμμα περιήγησης. Στην απλούστερη μορφή της, μια προβολή μπορεί να είναι ένα κομμάτι κώδικα HTML που έχει κάποιο στατιστικό περιεχόμενο. Για τις περισσότερες εφαρμογές, μπορεί να μην αρκεί μόνο το να έχετε σταθερό περιεχόμενο. Πολλές εφαρμογές Rails θα απαιτούν το δυναμικό περιεχόμενο που δημιουργείται από τον ελεγκτή να εμφανίζεται στην άποψή τους. Αυτό είναι δυνατό με τη χρήση του Embedded Ruby για τη δημιουργία προτύπων που μπορούν να περιέχουν δυναμικό περιεχόμενο.
Το Embedded Ruby επιτρέπει την ενσωμάτωση του κωδικού ρουμπινιού σε ένα έγγραφο προβολής. Αυτός ο κωδικός αντικαθίσταται με την πιο σωστή τιμή που προκύπτει από την εκτέλεση του κωδικού κατά το χρόνο εκτέλεσης. Όμως, έχοντας τη δυνατότητα ενσωμάτωσης κώδικα σε ένα έγγραφο προβολής, κινδυνεύουμε να γεφυρώσουμε τη σαφή σειρά που υπάρχει στο πλαίσιο MVС. Επομένως, είναι ευθύνη του προγραμματιστή να βεβαιωθεί ότι υπάρχει σαφής σχέση υπευθυνότητας μεταξύ των μονάδων μοντέλου, προβολής και ελέγχου της έκθεσης.
Σύντομη Ιστορία
Το Ruby σχεδιάστηκε στα μέσα της δεκαετίας του 1990 από τον Yukihirо Mаtsumоtо. Ο Yukihirо Mаtsumоtо είναι ο πατέρας του Ruby και στην κοινότητα Ruby, είναι ευρέως γνωστός ως Mаtz’. Το σενάριο Ruby εισήχθη αρχικά το 1995 και η πρώτη έκδοση του Ruby ήταν το Ruby 95 που κυκλοφόρησε το 1995.
Ο Yukihirо Mаtsumоtо ήθελε μια γλώσσα προγραμματισμού πλήρως αντικειμενικά προσανατολισμένη, η οποία θα μπορούσε να χρησιμοποιηθεί εύκολα ως γλώσσα γραφής. Έτσι, σχεδίασε τη γλώσσα eRuby. Σε μια συνεδρία των Yukihirо Mаtsumоtо και Keiju Ishitshukа δύο ονόματα επιλέχθηκαν για τη γλώσσα προγραμματισμού που είναι “Soral” και “Ruby”, αργότερα στο “YusumtedRаuby Mаle”.
Τεχνική προδιαγραφή
Η μορφή αρχείου eRuby προβάλλει διαφορετικές αντιλήψεις της αντικειμενικού προσανατολισμού προσέγγισης προγραμματισμού, όπως η τάξη, η κληρονομικότητα, η αφαίρεση, ο λυμορισμός και η εμψύχωση, κ.λπ. Η δυνατότητα της προσέγγισης προγραμματισμού με προσανατολισμό στο αντικείμενο καθιστά τη συντήρηση και την ανάπτυξη εύκολη. Το σενάριο της γλώσσας eRuby υποστηρίζει επίσης τη δυνατότητα της βασικής προσέγγισης προγραμματισμού. Στον σταθερό προγραμματισμό, υπάρχουν καθορισμένα βήματα για κάθε πρόγραμμα για την επίλυση ενός συγκεκριμένου προβλήματος.
Τα πρότυπα eRuby παρέχουν μια τεράστια γκάμα πλούσιων ενσωματωμένων βιβλιοθηκών από την κατηγορία, με τις οποίες οι προγραμματιστές μπορούν να αναπτύξουν οποιαδήποτε διαδικτυακή εφαρμογή ή πρόγραμμα εύκολα και γρήγορα. Το eRuby είναι μια γλώσσα γενικού ή πολλαπλών προγραμμάτων που σημαίνει ότι μπορεί να χρησιμοποιηθεί από τους προγραμματιστές για την ανάπτυξη διαφορετικών τύπων εφαρμογών και προγραμμάτων.
Η γλώσσα ERB Ruby είναι μια απλή και γενική γλώσσα προγραμματισμού και μπορείτε επίσης να την τροποποιήσετε ανάλογα με τις απαιτήσεις του σχεδίου σας. Παρέχει διάφορους τύπους πλούσιων ενσωματωμένων χαρακτηριστικών και εργαλείων. Η γλώσσα παρέχει επίσης τη δυνατότητα του αυτόματου συλλέκτη σκουπιδιών.
Η εγγραφή στο eRuby είναι πολύ γρήγορη σε σχέση με άλλες γλώσσες προγραμματισμού. Και είναι επίσης μια ευέλικτη γλώσσα προγραμματισμού, καθώς επιτρέπει σε κάθε χρήστη να τροποποιήσει τα μέρη της σύμφωνα με τις απαιτήσεις του. Υποστηρίζει τη δυνατότητα ενιαίας κληρονομιάς και μίξης και επίσης παρέχει τη δυνατότητα δυναμικής πληκτρολόγησης στους χρήστες του. Το eRuby είναι μια τόσο ευαίσθητη γλώσσα προγραμματισμού και έχει μια μεγάλη επιβλητική κοινότητα λόγω της ευαισθησίας του.
Παράδειγμα μορφής αρχείου ERB
Οι παρακάτω είναι οι τύποι ετικετών στα πρότυπα ERB:
Έκφραση
<%= %>
require 'erb'
x = 500
template = ERB.new("The value of x is: <%= x %>")
puts template.result(binding)
Εκτέλεση
<% %>
<ul>
<% 4.times do %>
<li>list item</li>
<% end %>
</ul>
Σχόλια
<%# %>
<%# ruby code %>
Άλλες ετικέτες
<%2.times do -%>
<%= @name %>
<% end -%>
Παράδειγμα τάξης
class ERBExample
attr_accessor:variable1
# using bind to access class variables
def render()
renderer.result(binding)
end
def initialize(variable1)
@variable1 = variable1
end
# Expose private binding() method.
def get_binding
binding()
end
end
example = ERBExample.new(variable1)
renderer = ERB.new(template)
puts output = renderer.result(example.get_binding)