Ruby on Rails Developer

  Home  Computer Programming  Ruby on Rails Developer


“Ruby on Rails Developer related Frequently Asked Questions by expert members with professional career as Ruby on Rails Developer. These list of interview questions and answers will help you strengthen your technical skills, prepare for the new job interview and quickly revise your concepts”



30 Ruby On Rails Developer Questions And Answers

1⟩ What is Rails Scaffolding?

Scaffolding is a quick way to produce some major pieces of an application. For auto generating a set of models, views and controllers for a new resource in a single operation, scaffolding is used.

 198 views

2⟩ Explain me what Are The Components Defined In The Model From Mvc Architecture?

The components involved in defining the model are as follows:

☛ Validations: this is one of the very essential components and it defines the validations that are being put up on the input type of stream like validate_presence_of, format_of, etc.

☛ Relationship: this is another type of component that describe the relationship between different types of components and it shows the relationship in the form of has_one, has_many, etc.

☛ Callbacks: this is essential when it comes to respond after the failure and it allows the application to have certain functionality during failure. This can be given as before_save, after_save, etc.

☛ Validation group settings: allow users to define the installed plugin settings.

☛ Active record association relationship: allows current records to be actively having the relationship between one another.

 205 views

3⟩ What is RVM?

RVM stands for Ruby Version Manager. It is a command line tool which allows you to easily install, manage and work with different Ruby environments. With RVM, you can easily install different versions of Ruby and easily switch between them.

 183 views

4⟩ Tell me how does Ruby on Rails use the Model View Controller (MVC) framework?

Web development can often be divided into three separate but closely integrated subsystems:

☛ Model (Active Record): The model handles all the data logic of the application. In Rails, this is handled by the Active Record library, which forms the bridge between the Ruby program code and the relational database.

☛ View (Action View): The view is the part of the application that the end user sees. In Rails, this is implemented by the Action View library, which is based on Embedded Ruby (ERB) and determines how data will be presented.

☛ Controller (Action Controller): The controller is like the data broker of an application, handling the logic that allows the model and view to communicate with one another. This is called the Action Controller in Rails.

 199 views

6⟩ Tell us what Is Active Record?

Active Record are like Object Relational Mapping(ORM), where classes are mapped to table and objects are mapped to columns in the table.

 180 views

8⟩ What is Rails Migrations?

Migrations are a way to alter database schema over time in a consistent and organized manner. They use a Ruby DSL through which there is no need to write SQL by hand.

 214 views

9⟩ Tell me how does Rails implement AJAX?

Asynchronous JavaScript and XML (AJAX) is a suite of technologies used to retrieve data for a webpage without having to refresh the page itself. This is how modern websites are able to cultivate a “desktop-like” user experience. The Rails method of implementing AJAX operations is short and simple.

☛ First, a trigger is fired. The trigger can be something as simple as a user clicking on a call to action.

☛ Next, the web client uses JavaScript to send data via an XMLHttpRequest from the trigger to an action handler on the server.

☛ On the server-side, a Rails controller action receives the data and returns the corresponding HTML fragment to the client.

☛ The client receives the fragment and updates the view accordingly.

 204 views

10⟩ Explain what’s different between ActiveRecordRelation’s count, length and size methods?

☛ count – counts the number of elements using query with the SQL command ‘COUNT’ but the result is not stored internally during object life cycle. This means, each time we invoke this method, SQL query is performed again. You should use this method if you don’t have anything loaded.

☛ length – loads all objects just to count them and then return the result count. It should be used only if you have already loaded all entries to avoid another database query.

☛ size – returns the size of the collection. If a collection is loaded, it will count its elements without any database query; but if a collection is not loaded, it will perform an additional query.

So we can say that size adapts to the situation.

 198 views

11⟩ Tell me what is CoC in Rails?

DRY stands for Convention over Configuration. It provides different opinions for the best way to do many things in a web application.

 203 views

13⟩ Please explain request/response cycle?

Let’s explain request/response flow in Rails:

☛ The user opens their browser and enters a URL.

☛ The browser sends a GET request to the URL. The request hits the Rails Router (config/routes.rb).

☛ The router receives the request information from the web server and based on that, decides which controller action should be called. If a request matches to any path in the routes file, the corresponding controller and action will be called.

☛ The controller receives the parameters from the router and passes them into appropriate model methods.

☛ The model queries a database to fetch data.

☛ The Database returns stored data to the model.

☛ The model manages the data and returns it to the controller.

☛ The controller feeds the received data to the view.

☛ The view renders the page as HTML, prepares a response and forwards it to the controller.

☛ The controller forwards the ready response to the browser.

☛ The browser displays a response to the user.

 184 views

14⟩ Please explain what is a Rails Migration? Write up a short example of a simple Rails Migration with a table called customers, a string column called name, and a text column called description.?

Initiating the command c:rubyapplication>ruby script/generate migration table_name will create a Rails Migration. A Rails Migration can be used to create, drop, or remove tables and columns. A potential solution is provided below.

class CreateCustomers < ActiveRecord::Migration

def up

create_table :customers do |t|

t.string :name

t.text :description

t.timestamps

end

end

def down

drop_table :customers

end

end

 203 views

17⟩ Tell me what’s the difference between destroy and delete?

Both of these methods delete the record in the database. The different between them is that:

☛ destroy – checks and deletes connected records if necessary and calls callbacks i.e. before_destroy, after_destroy etc.

☛ delete – doesn’t call callbacks and removes an object directly from the database.

 194 views

18⟩ Tell us what is the purpose of the resources method in the code snippet below?

resources :posts do

member do

get ‘messages’

end

collection do

post ‘bulk_upload'

end

end

Defining routes with the “resources” method automatically generates routes for the seven standard RESTful actions:

☛ GET /messages

☛ POST /messages

☛ GET /messages/new

☛ GET /messages/:id/edit

☛ GET /messages/:id

☛ PATCH/PUT /messages/:id

☛ DELETE /messages/:id

 192 views

19⟩ Tell us what are some advantages of using Ruby on Rails?

Famed coder Yukihiro “Matz” Matsumoto designed Ruby to make programmers “happy”—Rails affords you all the advantages of Ruby, including simple syntax, an extensive library, and a quickly growing community. Here are some advantages to look for in the developer’s answer.

☛ Programmer Productivity: The Ruby framework isn’t called “Rails” for no reason—testimonies abound around the web on how Rails can quickly carry an app from conception, through development, and into production in record speed.

☛ Built-In Testing: Rails enables developers to use supporting code called harnesses and fixtures to quickly draft simple extendable automated tests.

☛ Open-Source: Rails is open-source and 100% free, and its compatibility with Linux means there are many open-source options available when constructing your solution stack.

☛ Metaprogramming: The ability to write code that acts on code rather than data can be a huge advantage, and Rails makes it easy.

 212 views