Rails - Any plugins for building a online quiz/test? - ruby-on-rails

I'm trying to add some online tests to my site and before I rolled up my sleeves I was wondering if there is any ruby on rails plugin support for such a task.
Essentially I'm looking for something that lets me add multiple choice questions. Performing the scoring logic would be an added bonus.
Any one know of anything?

Ryan Bates has a screencast on nested model forms where the example app is a survey tool You could use it as a starting point.

Related

Best Way to Handle the UI Layer Within a Ruby Architecture

Are there some tools like CMS or UI-level frameworks that help in the maintenance and development of the UI layer within Ruby architectures?
I am still learning Ruby but as I understand it, it is very coupled with the front-end, correct?
Thanks,
Alex
You can use active_scaffold to get ajaxified crud interface and it can get integrated inside your existing rails app easily.
github.com/activescaffold/active_scaffold/wiki/Getting-Started
You can also use hobo but from I have gathered you need to use it right from the beginning as its generator creates the app.
hobocentral.net/
You can use comatose cms for integrating a basic content management functionality in your existing ror app.
comatose.rubyforge.org/getting-started-01.html
Also if you are looking for something pre-packed with rails then you can use command:
$ rails generate scaffold Post name:string title:string content:text
Command above is specific for rails 3 (in previous version scaffolding was available via ruby script/generate scaffold).
guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding
Hope this helps.
Are there some tools like CMS or UI-level frameworks that help in the maintenance and development of the UI layer within Ruby architectures?
CMS and UI level frameworks are very broad categories that you are talking about. Just to get you started, I will list down some I started with
Nifty-generators
blueprint-css
jquery-rails
I am still learning Ruby but as I understand it, it is very coupled with the front-end, correct?
No, its not very coupled with the front end as you think it is. You can assume Rails(Ruby) as just the back-end that will just send back data and when data has arrived at front-end, its your wish how to present it, format it or whatever you want to do with it.

How to create Rails App using cucumber

I am new for cucumber. I want to create on sample application using cucumber.
I am working on Windows 7 OS. Can any one guide me?
Thanks.
I think these are two separate problems:
Building a Rails application on Windows
Building a Rails application with Cucumber (using principles promoted by Cucumber like BDD, Specification by Example and an outside-in workflow)
Building a Rails application on Windows
There are a lot of tutorials, best starting point is probably: Getting Started with Rails on Rails Guides.
However the official advice there is using a virtual machine with Linux :-)
Here is a good thread with advice for running Rails under Windows.
Building a Rails application with Cucumber
An extraordinary example for this is the Book Rails 3 in Action by Manning.
This book really excels at showing how to create an application outside-in with Specification by Example using Cucumber.
In each chapter of the book a new feature is implemented. There are almost no screenshots explaining those features. Instead the authors are using Cucumber scenarios at the beginning of each chapter to exactly specify the desired new behavior that is the topic of given chapter. Then they are showing and explaining the necessary steps and the code that is needed to implement the functionality.
This is the best example I have found for using Cucumber with Rails so far.
This is also a really great example how Specfication by Example can be used for building a shared understanding - since teaching is all about sharing understanding.
However the scenarios in the book are quite focusing of specifying behavior on the UI level ... which is not commonly agreed on being best practice. But for teaching Rails it is great.
Rails 3 in Action is still in the early access program. I don't know where the official sources are.
But when you search on GitHub you already find different implementations of the example application (Tiketee):
https://github.com/rubykr/ticketee
https://github.com/oMartell/ticketee-rails-3-in-action
https://github.com/rails3book/ticketee
Here is the guide how to do it.
I found an interesting webcast video that does just this.
The basic procedure is define a couple features in cucumber. (actually the gherkin language)
Run cucumber
Fix errors
Repeat the
2 steps until you have a
working app.
It makes use of a few RoR gems like webrat and rspec.
http://railscasts.com/episodes/155-beginning-with-cucumber

Would Ruby on Rails suit my work..?

I wanted to make a web site with the following basic features- (1)User registration for buyers and sellers. (2)profile pages (3)A buyer should be able to post work and should get profile links of the corresponding seller who has expertise in that work.
As time progresses i would want to add more features to the site.The freelancer sites where user can post jobs and get bids is the best example of the work.
(1)I want my code to be maintainable as i woud be adding features later on. (2)It should be quick to develop. (3)Resources should be available(not the entire thing, atleast in bits and pieces) for the above requirements and should not be tough to find for future enhancements. (4)Design should be decoupled from the buisness logic as i would outsource the design work.
I was thinking of Ruby on Rails for this work as i have experience in the MVC model and RoR looks cool.I am from the mobility domain so i don't know whether RoR will suit my work
Would RoR suit this purpose.If yes where can i find the resources to the above mentioned requirements.
Thanks
Ruby on Rails would be ideal for this type of website.
Check out some of these resources for info on how to use Ruby on Rails:
http://guides.rubyonrails.org/
http://railscasts.com/
http://www.railsforum.com/
I noticed you are already aware of TeachMeToCode, but there is a tag there for all the Rails 3 tutorials, with some blog tutorials and what looks like the beginning of a series on how to build a del.icio.us clone. Since they are in Rails 3, they would be well worth checking out:
http://teachmetocode.com/screencasts/tag/rails-3/
One of the best tutorials:
http://railsforzombies.org
It will let you have your own point of view quickly.
It depends on with which languages you have experience. Any good MVC framework will do the job just fine but if you like Ruby syntax RoR is definitely a good framework to develop this kind of application.

Getting Started: Learning RoR for a ASP.Net MVC/C# Developer

I am an ASP.Net MVC / C# developer looking to get started with Ruby on Rails. Could you point me out to any books / tutorials which would help jump ships quickly.
I am familiar with MVC, Castle Active Record and jquery.
Thanks
Having just gone through this and looking for the best ways to learn ruby and rails I found the following most useful:
http://pragprog.com/titles/rails4/agile-web-development-with-rails (covers Rails 3)
I found this a good starting place to go through the basics of rails and while reading this I was able to follow along and build the application.
http://guides.rubyonrails.org/
Instead of building an application you get the vertical view of rails - i.e., sections to understand models, caching, views, layouts, etc. This is a great resource to follow along and read the sections you are dealing with.
http://www.railscasts.com
As you come across something you need to implement - e.g., many to many relationships this site provides some great examples and walkthroughs.
As a C# developer you may be slightly confused by Ruby. Here are the sites I recommend for learning Ruby:
http://www.fincher.org/tips/Languages/Ruby/
Although not formatted great - I found this one very useful to get the gist of Ruby syntax.
http://www.ruby-lang.org/en/documentation/quickstart/
Another great easy to follow tutorial
Lastly just try out some code.
Good luck!
I enjoyed Ruby on Rails for .NET Developers
How quick you can jump ships is really dependent on how fast you pick up the Ruby language and a new IDE. If you already know MVC and ActiveRecord you'll probably fly right along.
Heroku is really really really cool. Definitely try it out.
Welcome to the rails world :) !
Here is some links that may interest you :
There is a fun way to learn : railsforzombies.org
You can watch great screencast at : railscasts.com
You can find a free book here it is very complete : railstutorial.org/ruby-on-rails-tutorial-book
I also found this : www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials
There should be a lot more.
Have fun !
Ya right of now Ruby on Rails 3 is so proper among RoR developer. so get update on it.
Beginning Rails 3 - http://apress.com/book/view/9781430224334
Agile web development Rails 3 - http://pragprog.com/titles/rails4/agile-web-development-with-rails
These two books are rocking new learning and making a step on RoR.
and if u want video tutorial,
go for Railscasts and Teachmecode

Extracting a Rails application into a plugin or engine

I have a Rails 2.3 application which I would like to extract into a plugin, or engine. The application has user authentication, and basic cms capabilities supported by ancestry plugin.
I want to extract the logic for the application into a plugin/engine so that I can use this code for future projects, with a different "skin" or "theme" if required.
I'm not entirely sure I actually understand the difference between plugin and engine concepts, so that would be a good first point.
What is the best approach, are there any good starting points, links, explanations, examples that I should follow. Also, with the release of R3 to consider, is there anything that I should be aware of for that, with regards to plugins etc.
I am going to start off by watching Ryan's http://railscasts.com/episodes/149-rails-engines
but obviously thats over a year old now, so one of the challenges I'm faced with is finding the most up to date and relevant information on this subject.
All tips and help gratefully received.
Actually, converting an application is pretty straigtforward. Just create a plugin-folder, put an app-folder inside containing all yor model-views-controllers folders, and that's it.
You will have to manage your migrations yourself though. Also you have to define rake-tasks to copy files to your public folder. I think the railscasts is still pretty up-to-date, if anything it is now easier in rails 2.3.
Good luck!
[EDIT: for rails3] Rails 3 engines are very clean and powerful. Check this gist by Jose Valim.
You will probably be better off focusing your engine on Rails 3, as opposed to trying to make it compatible for Rails 2 and Rails 3, due to the backwards incompatible changes. Here is a more up to date tutorial for Rails 3
also the book "Crafting Rails applications" by Rails Core member Jose Valim, has a good chapter on it. Int he shows how to use his tool EngineX which generates a Rails 3 engine structure, so you can more easily create engines for your Rails 3 projects. His gem devise is also a rails engine which is also nice, because you can easily customize it by copying the templates into the application directory, and allowing you to subclass the controllers that you want to customize more.
Writing a plugin is an entirely different process than writing an app, if you already have your app code it should be straightforward converting it into a plugin.
Consider that if you use third-party plugins in your app it could get pretty messy.

Resources