Here is how to do this:
create rails app
>> rails xml_generation -d mysql
create the database which u want to use and edit the name in database.yml
now create the model for 'xml_generation'
xml_generation>>ruby script/generate model student
edit the migration file created,
class CreateStudents < ActiveRecord::Migration
def self.up
create_table :students do |t|
t.string :first_name
t.string :last_name
t.integer :age
t.string :school_name
t.timestamps
end
Student.create(
:first_name => 'Monica',
:last_name => 'Geller',
:age => 20,
:school_name => 'Bhavans'
)
end
def self.down
drop_table :students
end
end
so now we need to generate the controller,
xml_generation>>ruby script/generate controller student
after that edit the controller with these codes,
class StudentController < ApplicationController
def create_file
@students = Student.find(:all)
file = File.new('dir.xml','w')
doc = REXML::Document.new
make = REXML::Element.new "make"
@students.each do |s|
first_name_node = make.add_element "FirstName"
first_name_node.text = s.first_name
last_name_node = make.add_element "LastName"
last_name_node.text = s.last_name
age_node = make.add_element "Age"
age_node.text = s.age
school_node = make.add_element "School"
school_node.text = s.school_name
end
doc.add_element make
file.puts doc
file.close
end
end
migrate the project
xml_generation>> rake db:migrate
time to run it
xml_generation>>ruby script/server
open a browser and goto to http://localhost:3000/student/create_file
enjoy....!
0 comments:
Post a Comment