Behavioral Ruby on Rails Interview Questions & Answers:
Super productive new way to develop web applications because:
1. Dynamically typed programming language similar to Python,
Smalltalk, and Perl(Templating language)
2. Follows Model-View-Controller (MVC) architecture
3. Strives for simplicity
4. Less coding.
5. Minimum Configuration.
6. Design patterns admire
7. Light webserver
8. ORM
2. What is session and cookies?
Session is used for maintaining the particular value
throughout the session..(browser closed)
e.x: session[:value]="poornimad"
this values is not changed until the browser closed..
Cookies:
*********
This is used to store the values in the Browser..this
value is not delete till the cookies are deleted..This
cookies concept is same as Java cookies.The concept is same.
3. Whats the difference between symbol and string?
Rails makes extensive use of symbols. A symbol looks like a
variable symbols name, but it's prefixed with a colon.
Examples of symbols include :action,:line_items, and :id.
Rails uses symbols to identify things. In particular, it
uses them as keys when naming method parameters and looking
things up in hashes. For example:
redirect_to :action => "edit", :id => params[:id]
4. What the difference between static scaffolding and Dynamic scaffolding?
With Rails 2.0, you may have noticed that dynamic
scaffolding breaks-that is, if you have a controller with
scaffold :model_name in it, all the scaffolded actions-new,
delete, index-no longer exist! In Rails 2.0, you can only
generate static scaffolding-that is, you can use the
scaffold to generate the files for controllers, models, and
views.
What's more, Rails 2.0 allows you to specify the model
attributes inside the scaffold. This then creates views with
all the appropriate fields, and it also creates the
migration with all the fields in it! Excellent!
As an example, say we wanted to create a blog-post model. We
could generate it like so:
script/generate scaffold Post title:string content:text
category_id:integer
You'll notice Rails will generate, among other things:
► A post.rb model file
► A posts_controller.rb controller file
► A posts view folder containing views for the index, show, new, and edit actions
► A DB migration called xxx_create_posts
► A unit-test, fixtures file, and helper
Everything you need-indeed, everything the dynamic
scaffolding provided-is included, albeit as static content.
All you need to do is migrate your DB and you're up and flying!
So the main difference is, with dynamic scaffolding you can
generate new, edit and delete methods but with static
scaffolding you can't
5. Why do we use request.xhr? in rails?
Conventional web application transmit information to and
from the sever using synchronous requests. This means you
fill out a form, hit submit, and get directed to a new page
with new information from the server.
When you interact with an Ajax-powered web page, it loads an
Ajax engine in the background. In response to an event web
application passes asynchronous request (XMLHttpRequest or
xhr). In fact it is javaScript object/method that performs
asynchronous interaction with the server, JavaScript object
that performs asynchronous interaction with the server and
behind the scene fetches data. and behind the scene fetches
data.
We do request.xhr? only to check the request type, either
its AJAX request or others(post, get).
6. What is difference between form_for and form_tag?
form_for and form_tag both are used to submit the form in
ruby on rails.
but the way of handling objects related to model is
different.
form_for:
you should use form_for for a specific model i.e while
crating an new row in database. form_for will perform the
standard http post which is having fields related to active
record objects.
here is the example for using form_for in ruby on rails:
<% form_for :user, @user, :url => { :action => "update" }
do |f| %>
then in here you can use the f object to create input
field.
First name: <%= f.text_field :firstname %>
Last name : <%= f.text_field :lastname %>
Biography : <%= f.text_area :biography %>
<% end %>
form_tag:
form_tag just creates an form as an normal form. form_for
will perform the standard http post without any model
backed and has normal fields. this is used mainly when
specific things need to be submitted via form
here is the example for using form_tag in ruby on rails:
<% form_tag '/posts' do -%>
<%= text_field_tag "post", "firstname" %>
<% end -%>
7. How will be the future for ruby on rails?
Ruby On Rails developed in 1992.But now it is spreading all
over.Coding using ROR is easy we can easily develop web
applications.We can develop webservers and Ajax also can b
implemented in ROR.Similarly we have some disadvantages in
it like the User Interface and easily can do the wrong
things.Finally It is easy to learn and easy to implement
also.Learn it,It has good future.
Ruby is Dynamic object oriented programming language . we
can use it for any application like java, or we can use it
for web programming language
9. What are filters? and how many types of filters are there in ruby?
Filters enable controllers to run shared pre and post
processing code for its actions.
Filter methods are macro-style, that is, they appear at the
top of your controller method, inside the class context,
before method definitions.
the below types of filters in ruby
before_filter,
after_filter,
prepend_before_filter,
prepend_after_filter,
around_filter
10. What is the difference between sessions and flash?
Session is only for store the small amount of user
data,which data not stored permanently that's when we logged
out from our application.. which session value will removed.
But Flash is used to display the some messages like error
message and useful information messages in view pages...
https://InterviewQuestionsAnswers.ORG.