Rails Flashcards

1
Q

What is Rails’s architecture?

A

Model (ActiveRecord )

It maintains the relationship between the objects and the database and handles validation, association, transactions, and more.

This subsystem is implemented in ActiveRecord library, which provides an interface and binding between the tables in a relational database and the Ruby program code that manipulates database records. Ruby method names are automatically generated from the field names of database tables.

View ( ActionView )

It is a presentation of data in a particular format, triggered by a controller’s decision to present the data. They are script-based template systems like JSP, ASP, PHP, and very easy to integrate with AJAX technology.

This subsystem is implemented in ActionView library, which is an Embedded Ruby (ERb) based system for defining presentation templates for data presentation. Every Web connection to a Rails application results in the displaying of a view.

Controller ( ActionController )

The facility within the application that directs traffic, on the one hand, querying the models for specific data, and on the other hand, organizing that data (searching, sorting, messaging it) into a form that fits the needs of a given view.

This subsystem is implemented in ActionController, which is a data broker sitting between ActiveRecord (the database interface) and ActionView (the presentation engine).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does ActiveRecord do?

A

It’s an ORM

ActiveRecord provides a range of programming techniques and shortcuts for manipulating data from an SQL database. ActionController and ActionView provides facilities for manipulating and displaying that data. Rails ties it all together.

Rails Active Record is the Object/Relational Mapping (ORM) layer supplied with Rails. It closely follows the standard ORM model, which is as follows −

tables map to classes,
rows map to objects and
columns map to object attributes.

Each Active Record object has CRUD (Create, Read, Update, and Delete) methods for database access. This strategy allows simple designs and straight forward mappings between database tables and application objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Rails migrations

A

Rails Migration allows you to use Ruby to define changes to your database schema, making it possible to use a version control system to keep things synchronized with the actual code.

This has many uses, including −

Teams of developers − If one person makes a schema change, the other developers just need to update, and run "rake migrate".

Production servers − Run "rake migrate" when you roll out a new release to bring the database up to date as well.

Multiple machines − If you develop on both a desktop and a laptop, or in more than one location, migrations can help you keep them all synchronized.

You can do things like drop_table, create_table, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the logical center of a Rails application?

A

The Rails controller is the logical center of your application. It coordinates the interaction between the user, the views, and the model. The controller is also a home to a number of important ancillary services.

It is responsible for routing external requests to internal actions. It handles people-friendly URLs extremely well.

It manages caching, which can give applications orders-of-magnitude performance boosts.

It manages helper modules, which extend the capabilities of the view templates without bulking up their code.

It manages sessions, giving users the impression of an ongoing interaction with our applications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Rails routes

A

The routing module provides URL rewriting in native Ruby. It’s a way to redirect incoming requests to controllers and actions. It replaces the mod_rewrite rules. Best of all, Rails’ Routing works with any web server. Routes are defined in app/config/routes.rb.

Think of creating routes as drawing a map for your requests. The map tells them where to go based on some predefined pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Rails AJAX

A

Ajax stands for Asynchronous JavaScript and XML. Ajax is not a single technology; it is a suite of several technologies. Ajax incorporates the following −

XHTML for the markup of web pages
CSS for the styling
Dynamic display and interaction using the DOM
Data manipulation and interchange using XML
Data retrieval using XMLHttpRequest
JavaScript as the glue that meshes all this together

Ajax enables you to retrieve data for a web page without having to refresh the contents of the entire page. In the basic web architecture, the user clicks a link or submits a form. The form is submitted to the server, which then sends back a response. The response is then displayed for the user on a new page.

When you interact with an Ajax-powered web page, it loads an Ajax engine in the background. The engine is written in JavaScript and its responsibility is to both communicate with the web server and display the results to the user. When you submit data using an Ajax-powered form, the server returns an HTML fragment that contains the server’s response and displays only the data that is new or changed as opposed to refreshing the entire page

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What causes an AJAX request

A

Some trigger fires − This trigger could be the user clicking on a button or link, the user making changes to the data on a form or in a field, or just a periodic trigger (based on a timer).

The web client calls the server − A JavaScript method, XMLHttpRequest, sends data associated with the trigger to an action handler on the server. The data might be the ID of a checkbox, the text in an entry field, or a whole form.

The server does processing − The server-side action handler ( Rails controller action )-- does something with the data and returns an HTML fragment to the web client.

The client receives the response − The client-side JavaScript, which Rails creates automatically, receives the HTML fragment and uses it to update a specified part of the current page's HTML, often the content of a <div> tag.

</div>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Sending emails in Rails

A

Action Mailer is the Rails component that enables applications to send and receive emails. In this chapter, we will see how to send an email using Rails. Let’s start creating an emails project using the following command.

-Need to update config file to set mailer settings, then generate a mailer, create a method in the controller for each email, then create the associated views

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

RSpec general format

A
describe Class do
  it "is equal to some value" do 
    some code, ending in a boolean
  end
end
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

REST

A

Representational State Transfer (find examples online)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly