The document discusses Rails interview questions and answers. It covers common questions about what Rails is and its components like Action Pack, Action Mailer, Active Model, Active Record, Active Resource, and Active Support. Other questions addressed include RESTful architecture, advantages of Rails, scaffolding, render vs redirect_to, ORM, model associations, helpers, filters, MVC pattern, sessions vs cookies, and more.
$scope - plays a crucial role in gluing the controllers, data & views in AngularJS. Apart from root scope that created by default with ng-app, various child scopes can be created.
Let's see in detail the crucial methods that scope play with.
$scope - plays a crucial role in gluing the controllers, data & views in AngularJS. Apart from root scope that created by default with ng-app, various child scopes can be created.
Let's see in detail the crucial methods that scope play with.
What is JavaScript?
Interpreted programming or scripting language from Netscape.
Easier to code than the compiled languages like C and C++.
Lightweight and most commonly used script in web pages.
Allow client-side user to interact and create dynamic pages.
Cross-platform and object-oriented scripting language.
Most popular programming language in the world.
High level, dynamic and untyped programming language.
Standardized in the ECMAScript language specification.
Used for shorter programs
Takes longer time to process than compiled languages.
C# is a great programming language for modern development. Like any language, however, there are parts of the language and BCL that can trip you up if you have invalid assumptions as to what is going on behind the scenes. This presentation discusses a few of these pitfalls and how to avoid them.
Object Oriented Programming is a programming concept that works on the principle that objects are the most important part of your program. It allows users create the objects that they want and then create methods to handle those objects. Manipulating these objects to get results is the goal of Object Oriented Programming.
Object Oriented Programming popularly known as OOP, is used in a modern programming language like Java..
he main aim of object-oriented programming is to implement real-world entities for example object, classes, abstraction, inheritance, polymorphism, etc.
We've all seen the big "macro" features in .NET, this presentation is to give praise to the "Little Wonders" of .NET -- those little items in the framework that make life as a developer that much easier!
Top 20 c# interview Question and answersw3asp dotnet
This presentation contains interview question and answers . www.w3asp.net provide you the information, knowledge, job, practices and tranings regarding asp.net.
Java is a programming language designed for use in the distributed environment of the Internet.
Programming language developed for the Web.
Programming language Developed by James Gosling.
Sun Microsystems released java in 1995 as a core component of Sun Java technology.
Java is very versatile, efficient, platform independent and secure.
Java is write once and run anywhere.
About 2 billion Devices using Java in various applications.
Java is used in Embedded devices, Mobile phones, Enterprise Servers, Super computers, Web Servers and Enterprise Appls.
These features makes java technology ideal for network computing.
Object Oriented Concepts required to know about the Android Application Programming are discussed over here. Get the most of the details about each and every concept of OO paradigm so you can use them very well in Android Application Programming.
Ruby on Rails, often simply referred to as Rails, is an open-source web application framework written in Ruby. It follows the Model-View-Controller (MVC) architectural pattern, which separates an application into three interconnected components to promote code Ruby Rails Web Development organization and maintainability. Ruby on Rails has gained popularity for its focus on developer productivity and its convention-over-configuration philosophy, which significantly reduces the need for boilerplate code and configuration.
What is JavaScript?
Interpreted programming or scripting language from Netscape.
Easier to code than the compiled languages like C and C++.
Lightweight and most commonly used script in web pages.
Allow client-side user to interact and create dynamic pages.
Cross-platform and object-oriented scripting language.
Most popular programming language in the world.
High level, dynamic and untyped programming language.
Standardized in the ECMAScript language specification.
Used for shorter programs
Takes longer time to process than compiled languages.
C# is a great programming language for modern development. Like any language, however, there are parts of the language and BCL that can trip you up if you have invalid assumptions as to what is going on behind the scenes. This presentation discusses a few of these pitfalls and how to avoid them.
Object Oriented Programming is a programming concept that works on the principle that objects are the most important part of your program. It allows users create the objects that they want and then create methods to handle those objects. Manipulating these objects to get results is the goal of Object Oriented Programming.
Object Oriented Programming popularly known as OOP, is used in a modern programming language like Java..
he main aim of object-oriented programming is to implement real-world entities for example object, classes, abstraction, inheritance, polymorphism, etc.
We've all seen the big "macro" features in .NET, this presentation is to give praise to the "Little Wonders" of .NET -- those little items in the framework that make life as a developer that much easier!
Top 20 c# interview Question and answersw3asp dotnet
This presentation contains interview question and answers . www.w3asp.net provide you the information, knowledge, job, practices and tranings regarding asp.net.
Java is a programming language designed for use in the distributed environment of the Internet.
Programming language developed for the Web.
Programming language Developed by James Gosling.
Sun Microsystems released java in 1995 as a core component of Sun Java technology.
Java is very versatile, efficient, platform independent and secure.
Java is write once and run anywhere.
About 2 billion Devices using Java in various applications.
Java is used in Embedded devices, Mobile phones, Enterprise Servers, Super computers, Web Servers and Enterprise Appls.
These features makes java technology ideal for network computing.
Object Oriented Concepts required to know about the Android Application Programming are discussed over here. Get the most of the details about each and every concept of OO paradigm so you can use them very well in Android Application Programming.
Ruby on Rails, often simply referred to as Rails, is an open-source web application framework written in Ruby. It follows the Model-View-Controller (MVC) architectural pattern, which separates an application into three interconnected components to promote code Ruby Rails Web Development organization and maintainability. Ruby on Rails has gained popularity for its focus on developer productivity and its convention-over-configuration philosophy, which significantly reduces the need for boilerplate code and configuration.
Since its public unveiling in 2004, Ruby on Rails has taken the web development world by storm. Rails is an open-source framework, built using the Ruby programming language, that promotes high productivity and reduced development times for real-world web sites. This talk will provide a high-level tour of the features of Ruby on Rails. It will also show how this technology is being leveraged to create on-line businesses and web sites. You don't have to be a programmer to learn more about how Ruby on Rails can power your on-line business.
As presented to the Milwaukee Alt.Net group on November 21st, 2011.
UPDATE April 19, 2012: added some domain logic organization slides using Fowler's 4 basic patterns.
A detailed overview of the laravel framework, created by Awulonu Obinna and presented at: Laravel Abuja.
Author details:
Twitter – https://www.twitter.com/awulonu_obinna
Facebook – https://www.facebook.com/awulonuobinna
GitHub – https://www.github.com/obinosteve
In this paper we quick study about laravel framework with PHP. Generally, framework is a real or theoretical configuration intended to serve as a support or guide for the webpage programming application. Its provide various pre defined tools and directory files for make an easy project. PHP is the most frequently used server side scripting language. It designed mainly for web development and also used as building dynamic web pages. Nearly 82 of web developers are use PHP scripting for developing good and comprehensive webpage. Laravel is a framework in PHP. It has a more flexible tool for developing an expensive webpage with short period and more proficient. Laravel is a first framework introducing routing concept. Lakshay Khanna "Laravel - A Trending PHP Framework" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-4 | Issue-4 , June 2020, URL: https://www.ijtsrd.com/papers/ijtsrd31260.pdf Paper Url :https://www.ijtsrd.com/engineering/software-engineering/31260/laravel-%E2%80%93-a-trending-php-framework/lakshay-khanna
We all have good and bad thoughts from time to time and situation to situation. We are bombarded daily with spiraling thoughts(both negative and positive) creating all-consuming feel , making us difficult to manage with associated suffering. Good thoughts are like our Mob Signal (Positive thought) amidst noise(negative thought) in the atmosphere. Negative thoughts like noise outweigh positive thoughts. These thoughts often create unwanted confusion, trouble, stress and frustration in our mind as well as chaos in our physical world. Negative thoughts are also known as “distorted thinking”.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
1. Rails Interview Questions
[Qus-1]: What is Rails? And what are the components of Rails?
[Ans]: Rails is a extremely productive web-application framework written in Ruby language by
David Hansson.
Rails are an open source Ruby framework for developing database-backend web
applications.
Rails include everything needed to create a database-driven web application using the
Model-View-Controller (MVC) pattern.
Components of Rails:
[1]: Action Pack: Action Pack is a single gem that contains Action Controller, Action View and
Action Dispatch. The “VC” part of “MVC”.
Action Controller: Action Controller is the component that manages the controllers in a
Rails application. The Action Controller framework processes incoming requests to a
Rails application, extracts parameters, and dispatches them to the intended action.
Services provided by Action Controller include session management, template rendering,
and redirect management.
Action View: Action View manages the views of your Rails application. It can create
both HTML and XML output by default. Action View manages rendering templates,
including nested and partial templates, and includes built-in AJAX support.
Action Dispatch: Action Dispatch handles routing of web requests and dispatches them
as you want, either to your application or any other Rack application. Rack applications
are a more advanced topic and are covered in a separate guide called Rails on Rack.
[2]: Action Mailer: Action Mailer is a framework for building e-mail services. You can use Action
Mailer to receive and process incoming email and send simple plain text or complex multipart
emails based on flexible templates.
[3]: Active Model: Active Model provides a defined interface between the Action Pack gem
services and Object Relationship Mapping gems such as Active Record. Active Model allows Rails
to utilize other ORM frameworks in place of Active Record if your application needs this.
[4]: Active Record: Active Record are like Object Relational Mapping (ORM), where classes are
mapped to table, objects are mapped to columns and object attributes are mapped to data in the
table
[5]: Active Resource: Active Resource provides a framework for managing the connection
between business objects and RESTful web services. It implements a way to map web-based
resources to local objects with CRUD semantics.
[6]: Active Support: Active Support is an extensive collection of utility classes and standard
Ruby library extensions that are used in Rails, both by the core code and by your applications.
[Qus-2]: Explain about RESTful Architecture.
[Ans]: RESTful: REST stands for Representational State Transfer. REST is an architecture for
designing both web applications and application programming interfaces (API’s), that’s uses
HTTP
• RESTful interface means clean URLs, less code, CRUD interface.
• CRUD means Create-READ-UPDATE-DESTROY.
You might heard about HTTP verbs, GET, POST. In REST, they add 2 new verbs, i.e, PUT, DELETE.
durgesh.tripathi2@gmail.com Page 1
2. Rails Interview Questions
There are 7 default actions, those are – index, show, new, create, edit, update, destroy.
Action VERB
index GET(used when you retrieve data from database)
show GET
new GET
create POST(used when you create new record in database)
edit GET
update PUT(used when you are updating any existing record in database)
destroy DELETE(used when you are destroying any record in database)
[Qus-3]: Why Ruby on Rails?
[Ans]: There are lot of advantages of using ruby on rails.
1. DRY Principal( Don’t Repeat Your Self): It is a principle of software development
aimed at reducing repetition of code. “Every piece of code must have a single,
unambiguous representation within a system”
2. Convention over Configuration: Most web development framework for .NET or Java
force you to write pages of configuration code. If you follow suggested naming
conventions, Rails doesn’t need much configuration.
3. Gems and Plugins: RubyGems is a package manager for the Ruby programming
language that provides a standard format for distributing ruby programs and library.
Plugins: A Rails plugin is either an extension or a modification of the core framework. It
provides a way for developers to share bleeding-edge ideas without hurting the stable
code base. We need to decide if our plugin will be potentially shared across different
Rails applications.
If your plugin is specific to your application, your new plugin will be vendored
plugin.
If you think, your plugin may be used across applications build it as a gemified
plugin.
$rails generate plugin –help //vendored plugin
$rails plugin –help //gemified plugin
Most common plugin is AutoStripAttributes which helps to remove un-
necessary whitespaces from Active Record or Active Model attributes. Its good
for removing accidental spaces from user inputs.
4. Scaffolding: Scaffolding is a meta-programming method of building database-backend
software application. It is a technique supported by MVC frameworks, in which
programmer may write a specification, that describes how the application database may
be used. There are two type of scaffolding:
-static: Static scaffolding takes 2 parameter i.e your controller name and model name.
-dynamic: In dynamic scaffolding you have to define controller and model one by one.
5. Rack Support: Rake is a software task management tool. It allows you to specify tasks
and describe dependencies as well as to group tasks in a namespace.
6. Metaprogramming: Metaprogramming techniques use programs to write programs.
7. Bundler: Bundler is a new concept introduced in Rails 3, which helps you to manage
your gems for application. After specifying gem file, you need to do a bundle install.
durgesh.tripathi2@gmail.com Page 2
3. Rails Interview Questions
8. Rest Support: As explained above.
9. Action Mailer: As explained above.
[Qus-4]: What do you mean by render and redirect_to?
[Ans]: render causes rails to generate a response whose content is provided by rendering one
of your templates. Means, it will direct goes to view page.
redirect_to generates a response that, instead of delivering content to the browser, just tells it
to request another url. Means it first checks actions in controller and then goes to view page.
[Qus-5]: What is ORM in Rails?
[Ans]: ORM tends for Object-Relationship-Model, where Classes are mapped to table in the
database, and Objects are directly mapped to the rows in the table.
[Qus-6]: How many Types of Associations Relationships does a Model have?
[Ans]: When you have more than one model in your rails application, you would need to create
connection between those models. You can do this via associations. Active Record supports
three types of associations:
one-to-one: A one-to-one relationship exists when one item has exactly one of
another item. For example, a person has exactly one birthday or a dog has exactly
one owner.
one-to-many : A one-to-many relationship exists when a single object can be a
member of many other objects. For instance, one subject can have many books.
many-to-many : A many-to-many relationship exists when the first object is
related to one or more of a second object, and the second object is related to one
or many of the first object.
You indicate these associations by adding declarations to your models: has_one, has_many,
belongs_to, and has_and_belongs_to_many.
[Qus-7]: What are helpers and how to use helpers in ROR?
[Ans]: Helpers (“view helpers”) are modules that provide methods which are automatically
usable in your view. They provide shortcuts to commonly used display code and a way for you to
keep the programming out of your views. The purpose of a helper is to simplify the view.
[Qus-8]: What is Filters?
[Ans]: Filters are methods that run “before”, “after” or “around” a controller action. Filters are
inherited, so if you set a filter on ApplicationController, it will be run on every controller in your
application.
[Qus-9]: What is MVC? and how it Works?
[Ans]: MVC tends for Model-View-Controller, used by many languages like PHP, Perl, Python
etc. The flow goes like this:
Request first comes to the controller, controller finds and appropriate view and interacts with
model, model interacts with your database and send the response to controller then controller
based on the response give the output parameter to view, for Example your url is something like
this:
http://localhost:3000/users/new
durgesh.tripathi2@gmail.com Page 3
4. Rails Interview Questions
here users is your controller and new is your method, there must be a file in your views/users
folder named new.html.erb, so once the submit button is pressed, User model will be called and
values will be stored into the database.
[Qus-10]: What is Session and Cookies?
[Ans]: Session is used to store user information on the server side. Maximum size is 4 kb.
Cookies are used to store information on the browser side or we can say client side
[Qus-11]: What is request.xhr?
[Ans]: A request.xhr tells the controller that the new Ajax request has come, It always return
Boolean values (TRUE or FALSE)
[Qus-12]: What things we can define in the model?
[Ans]: There are lot of things you can define in models few are:
1. Validations (like validates_presence_of, numeracility_of, format_of etc.)
2. Relationships(like has_one, has_many, HABTM etc.)
3. Callbacks(like before_save, after_save, before_create etc.)
4. Suppose you installed a plugin say validation_group, So you can also define validation_group
settings in your model
5. ROR Queries in Sql
6. Active record Associations Relationship
[Qus-13]: How many types of callbacks available in ROR?
[Ans:]
(1) before_validation
(2) before_validation_on_create
(3) validate_on_create
(4) after_validation
(5) after_validation_on_create
(6) before_save
(7) before_create
(8) after_create
(9) after_save
[Qus-14]: How to serialize data with YAML?
[Ans]: YAML is a straight forward machine parsable data serialization format, designed for
human readability and interaction with scripting language such as Perl and Python.
YAML is optimized for data serialization, formatted dumping, configuration files, log files,
internet messaging and filtering.
[Qus-15]: How to use two databases into a single application?
[Ans]: magic multi-connections allows you to write your model once, and use them for the
multiple rails databases at the same time.
• sudo gem install magic_multi_connection
• After installing this gem, just add this line at bottom of your environment.rb
require “magic_multi_connection”
[Qus-16]: Changes between the Rails Version 2 and 3?
[Ans]:
durgesh.tripathi2@gmail.com Page 4
5. Rails Interview Questions
1. Introduction of bundler (new way to manage your gem dependencies)
2. Gemfile and Gemfile.lock (where all your gem dependencies lies, instead of
environment.rb)
3. HTML5 support
[Qus-17]: What is TDD and BDD?
[Ans]: TDD stands for Test-Driven-Development and BDD stands for Behavior-Driven-
Development.
[Qus-18]: What are the servers supported by ruby on rails?
[Ans]:RoR was generally preferred over WEBrick server at the time of writing, but it can also
be run by:
Lighttpd (pronounced ‘lighty’) is an open-source web server more optimized for speed-
critical environments.
Abyss Web Server- is a compact web server available for windows, Mac osX and Linux
operating system.
Apache and nginx
[Qus-19]: What do you mean by Naming Convention in Rails.
[Ans]:
Variables: Variables are named where all letters are lowercase and words are separated
by underscores. E.g: total, order_amount.
Class and Module: Classes and modules uses MixedCase and have no underscores, each
word starts with a uppercase letter. Eg: InvoiceItem
Database Table: Table name have all lowercase letters and underscores between
words, also all table names to be plural. Eg: invoice_items, orders etc
Model: The model is named using the class naming convention of unbroken MixedCase
and always the singular of the table name. For eg: table name is might be orders, the
model name would be Order. Rails will then look for the class definition in a file called
order.rb in /app/model directory. If the model class name has multiple capitalized
words, the table name is assumed to have underscores between these words.
Controller: controller class names are pluralized, such that OrdersController would be
the controller class for the orders table. Rails will then look for the class definition in a
file called orders_controlles.rb in the /app/controller directory.
Summary
1. Model Naming Convention
Table: orders
Class: Order
File: /app/models/order.rb
Foreign key: customer_id
Link Table: items_orders
2. Controller Naming Convention
Class: OrdersController
File: /app/controllers/orders_controller.rb
Layout: /app/Layouts/orders.html.erb
3. View Naming Convention
Helper: /app/helpers/orders.helper.rb
Helper Module: OrdersHelper
durgesh.tripathi2@gmail.com Page 5
6. Rails Interview Questions
Views: /app/view/orders/…(list.html.erb for example)
4. Test Naming Convention
Unit: /test/unit/order_test.rb
Functional: /test/functional/orders_controller_test.rb
Fixtures: /test/fixtures/orders.yml
[Qus-20]: What is the log that has to seen to check for an error in ruby rails?
[Ans]: Rails will report errors from Apache in log/apache.log and errors from the ruby code in
log/development.log. If you having a problem, do have a look at what these log are saying.
[Qus-21]: How you run your Rails application without creating databases?
[Ans]: You can run your application by uncommenting the line in environment.rb
path=> rootpath conf/environment.rb
config.frameworks- = [action_web_service, :action_mailer, :active_record]
[Qus-22]: How to use sql db or mysql db without defining it in the database.yml?
[Ans]: You can use ActiveRecord anywhere
require “rubygems”
require “active_record”
ActiveRecord::Base.establish_connection({
:adapter=> ‘postgresql’, :user=>’foo’, :password=> ‘abc’, :database=>’whatever’})
[Que-23]: GET and POST Method?
[Ans]: GET is basically for just getting (retrieving) data, whereas POST may involve anything,
like storing or updating data, or ordering a product, or sending E-mail.
durgesh.tripathi2@gmail.com Page 6