RailsFan Radha wrote:
> RailsFan Radha wrote:
>> Hassan Schroeder wrote:
>>> On Sat, Jun 26, 2010 at 11:56 AM, RailsFan Radha <li...@ruby-forum.com> 
>>> wrote:
>>> 
>>>> given this scenario, if this is an existing db, how could we create the
>>>> CRUD pages for this without doing migration.
>>> 
>>> There's an active_scaffold plugin that (I believe) replicates the old
>>> 1.x Rails dynamic scaffolding. I've never used it, but it might work.
>>> 
>>> Otherwise, you'll just have to write your views, tests, etc. yourself.
>>> 
>>> HTH,
>>> --
>>> Hassan Schroeder ------------------------ hassan.schroe...@gmail.com
>>> twitter: @hassan
>> 
>> 
>> i'll check active scaffold plugin. as i googled, a few had specified 
>> that it isn't working as specified. i am yet to delve into it. will keep 
>> it posted as i delve into it.
>> 
>> 
>> 
> 
> 
>> apart from that.. today, the very first page in the CRUD pages started 
>> working.
>> Created a "list" page to list all categories and it listed all.
>> used the steps from: 
>> http://www.tutorialspoint.com/ruby-on-rails/rails-views.htm
>> 
>> in the similar approach , will try to create the other CRUD pages too.
>> 
>> 
>> here are the pages:
>> ################### model ###########################
>> ##################category.rb########################
>> ../app/models# more category.rb
>> class Category < ActiveRecord::Base
>> set_table_name 'category'
>> set_primary_key "category_id"
>> 
>> def self.find_all_categories
>>   find(:all)
>> end
>> end
>> #####################################################
>> 
>> ##################controller#####################
>> ##############category_controller.rb#############
>> app/controllers# more category_controller.rb
>> class CategoryController < ApplicationController
>>     def index
>>   # "List all categories"
>>   list
>>   render:action=>'list'
>>     end
>>    #--- List--
>>    def list
>>    @categories=Category.find_all_categories
>>   end
>> 
>> end
>> ##################################################
>> 
>> ###################### views######################
>> ######################list.erb####################
>> ../app/views/category# more list.erb
>> 
>> <h1>list template for category <h1>
>> 
>> <% if @categories.blank? %>
>> <p>There are not any categories currently in the system.</p>
>> <% else %>
>> <p>These are the current categories in our system</p>
>> <ul id="categories">
>> <% @categories.each do |c| %>
>> <li><%= link_to c.category_title, {:action => 'show', :id => 
>> c.category_id} -%><
>> /li>
>> <% end %>
>> </ul>
>> <% end %>
>> 
>> ####################################################
>> 
>> Summary:
>> --------
>> For one controller and one action, these three files were 
>> created/modified:
>> Currenlty, these three flles does only one action, which is "listing" 
>> all categories from the "category table". I think atleast one part of 
>> the CRUD is done. can we say so? I guess so.
>> Files modified:
>> --------------
>> model/category.rb
>> controller/category_controller.rb
>> views/list.erb
>> 
>> the next step is to prep for the "edit" action for category.
>> 
>> please let me know if i'm missing any.
>>
>> thanks again,
>> radha.
> 
> 
> 
> Update to this post:
> 
> "show" action for this category has been done. I think this is one among 
> the CRUD pages. (create, read, update, delete)
> I guess, show => read
> 
> The following pages are created/modified for this "show" action for 
> "category" controller:
> ------------------------------------------------------------------------------
> app/controller/category_controller.rb ( added show def to this file)
> app/views/category/show.erb  (new template created. this is a new file)
> 
> 
> ##################  app/controller/category_controller.rb  ###########
>   def show
>      @category=Category.find(params[:category_id])
>   end
> 
> #######################################################################
> 
> ###################   view  ##########################################
> /app/views/category# more show.erb
> <h1><%= @category.category_title %></h1>
> <p><strong>Title: </strong> $<%= @category.category_title %><br />
> <strong>Short_Description :</strong> <%= @category.category_short_desc 
> %><br />
> <strong>Long_Description :</strong> <%= @category.category_long_desc 
> %><br />
> <strong>Status :</strong> <%= @category.status%><br />
> 
> <strong>Created Date:</strong> <%= @category.dt_created %><br />
> <strong>Modified Date:</strong> <%= @category.dt_modified %><br />
> <strong>Created User:</strong> <%= @category.user_created %><br />
> <strong>Modified User:</strong> <%= @category.user_modified %><br />
> </p>
> <p><%= @category.category_title %></p>
> <hr />
> <%= link_to 'Back', {:action => 'list'} %>
> ################.#################################
> 
> 
> Summary:
> -----------------
> To create the "show" action, controller file was modified and a new view 
> template was created.
> Model remains inchanged.
> 
> So, this works!
> The link created in the abover list.erb, shows this show.erb page when 
> clicked.
> The link works and that means the "show" action is working.
> 
> ------------------------
> Please let me know if I'm missing any in this route.
> 
> 
> Just thought of updating this here, as this inspires me to move forward, 
> thinking i have people here to discuss with.
> that makes all the big difference.
> 
> I will keep you all posted.
> 
> - thanks again,
> radha.



#####################################################################

Second Update to this Post:

"Insert/Add" action , one among the CRUD pages is working:

Here are the changes made for this action:

Step-1:
--------
app/controller/category_controller.rb
----------------------------------------
added this def create part to it.
--------------
def create
      @category = Category.new(params[:category])
      if @category.save
            redirect_to :action => 'list'
      else
        #    @subjects = Subject.find(:all)
           render :action => 'new'
      end
   end


Step-2:
-------
app/views/category/new.erb new file added.
----------
here is the content of this file

<h1>Add new Category </h1>
<%= form_tag :action => 'create'%>
<p><label for="category_title">Category Title</label>:
<%= text_field 'category', 'category_title' %></p>

<p><label for="categoy_short_desc">Category Short Description</label>:
<%= text_field 'category', 'category_short_desc' %></p>

<p><label for="categoy_long_desc">Category Long Description</label>:
<%= text_area 'category', 'category_long_desc' %></p>

<%= submit_tag "Create" %>
<%= form_tag %>
<%= link_to 'Back', {:action => 'list'} %>

------------------------------------------------------

Summary:
-- "Add" action , which is one among the CRUD pages is created.
(though no validations have been taken care of. it should be in the 
later steps)
-- new file new.erb has been created for this action
-- category_controller.rb has been modified for this action

Tested this by adding a new category. It adds a new category and then 
takes the user to the list page.
well, haven't done any tesing using fixtures/rails.. not sure of how 
that works.. so haven't touched that part. and not sure what difference 
that would make either.


Please let me know if i'm missing any.

thanks,
radha

thanks,
radha



################################################################
-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to