Q1. In which Programming language was Ruby written?
Ruby was written in C language and Ruby on Rails written in Ruby.
Q2.Mention all the naming conventions in ruby on rails.
Following is a list of some naming conventions used in ruby on rails: –
Q3. What is ORM in Rails?
ORM tends for Object-Relationship-Model, it means that your Classes are mapped to table in the database, and Objects are directly mapped to the rows in the table.
Q4. Why Ruby on Rails?
There are lots of advantage of using Ruby on Rails.
1. DRY Principal( Don’t Repeat Yourself): 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.
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.
(vii) 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.
7. Rest Support.
8. Action Mailer
Q5. Explain the features of ruby on rails.
Some of the features of ruby on rails are listed below-
Q6. How many Types of Associations Relationships does a Model has?
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:
You indicate these associations by adding declarations to your models: has_one, has_many, belongs_to, and has_and_belongs_to_many.
Q7. What is MVC? and How it Works?
MVC basically indicates Model-View-Controller. And MVC used by many languages like PHP, Perl, Python etc. Generally MVC works 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.
Q8. What do you understand by rails?
It is a web application framework which is written in ruby language and is developed by David Hansson. It is an open source ruby framework for the development of database backend web application. It consists of everything which is needed for creating a database driven web application with the help of model view controller pattern.
Q9. What is the Difference between Static and Dynamic Scaffolding?
The Syntax of Static Scaffold is like this:
ruby script/generate scaffold User Comment.
Where Comment is the model and User is your controller, So all n all static scaffold takes 2 parameter i.e your controller name and model name, whereas in dynamic scaffolding you have to define controller and model one by one.
Q10. How many types of relationships does a Model has?
1. has_one
2. belongs_to
3. has_many
4. has_many :through
Q11. What are the different filters used in ruby on rails?
The methods which are used before and after the action of the controller method are executed. It ensures that the code runs with the given action method which is called. Three types of filters are supported by rails. They are: –
Q12. How you run your Rails Application without creating database ?
MYou can run application by uncomment the line in environment.rb
Path => rootpath conf/ environment.rb
# Skip frameworks you’re not going to use (only works if using vendor/rails)
config.frameworks -= [ :action_web_service, :action_mailer,:active_record ].
Q13. What is Ruby Gems?
Ruby Gem is a software package, commonly called a “gem”. Gem contains a packaged Ruby application or library. The Ruby Gems software itself allows you to easily download, install and manipulate gems on your system.
Q14. Explain the role of sub directory app/controllers and app/helpers.
Q15. What are helpers and how to use helpers in ROR?
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. It’s best if the view file (RHTML/RXML) is short and sweet, so you can see the structure of the output.
Q16. What is the basic difference between GET and POST method?
GET is basically for just getting (retrieving) the data, whereas POST may used to do multiple things, like storing or updating data, or ordering a product, or sending E-mail etc.
Q17. What do you understand by rails migration and what it can do?
With the help of rails migration, we can make changes in the database schema which makes it possible to use the version control system for synchronization of those things with the actual code. Rails migration can perform the following things: –
Q18. Mention the role of rails controller.
The rails controller works as the main logical centre of the application. With the help of this user, views, and models can interact with each other. Routing of external requests to internal actions is possible. It can handle the URL very well. It helps in regulating helper modules which extends the capabilities of view templates. It also regulates the session which gives user an impression of an on-going interaction with any application.
Q19. How do the following methods differ: @my_string.strip and @my_string.strip! ?
The strip! method modifies the variable directly. Calling strip (without the !) returns a copy of the variable with the modifications, the original variable is not altered.
Q20. What is Bundler?
Bundler is a new concept introduced in Rails3, which helps to you manage your gems for the application. After specifying gems in your Gemfile, you need to do a bundle install. If the gem is available in the system, bundle will use that else it will pick up from the rubygems.org.
Q21. Mention the differences between the observers and callbacks in ruby on rails.
Following are the differences between observers and callbacks in ruby on rails: –
Q22. What’s the difference in scope for these two variables: @name and @@name?
@name is an instance variable and @@name is a class variable.
Q23. Does Ruby support constructors? How are they declared?
Constructors are supported in Ruby. They are declared as the method initialize, shown below. The initialize method gets called automatically when Class.new is called.
Q24. What is the log that has to see to check for an error in ruby rails?
Rails will report errors from Apache in log/apache.log and errors from the Ruby code in log/development.log. If you’re having a problem, do have a look at what these logs are saying. On Unix and Mac OS X you may run tail -f log/development.log in a separate terminal to monitor your application’s execution.
Q25. What is the use of global variable $ in Ruby?
A class variable starts with an @@ sign which is immediately followed by upper or lower case letter. You can also put some name characters after the letters which stand to be a pure optional. A class variable can be shared among all the objects of a class. A single copy of a class variable exists for each and every given class. To write a global variable you start the variable with a $ sign which should be followed by a name character. Ruby defines a number of global variables which also include other punctuation characters such as $_ and $-k.
Q26. Where does the start_tabnav gets informations for tabs rendering in ruby rail?
The main Symbol let the start_tabnav method known to look for a special MainTabnav class where all are happens.