Hi friends i used ajax in my application and i have got successful result.... I want share that what i have learnt.......
Render the table when you add a new record into your database without reloading your whole page...... I post simple example to render the index file when i trying to add a new record ....
Consider the table name is profession....
1 => Create an application
* rails new sampleapplication
2 => Create a model
* rails g model Employee empname:string age:integer gender:boolean
3 => Create a controller Employees
*rails g controller Employees
4 => *rake db:create
5 => *rake db:migrate
6 => If you want to add any validation you can set validates in your model, for Example
class Employee < ActiveRecord::Base
validates :empname, :age, :gender, :presence=>:true
end
7 => In your controller you can write the code as below like this
class EmployeesController < ApplicationController
def new
@employee=Employee.all
end
def create
@employee.create(params[:employee])
flash[:notice]="Record has been created"
@employee=Employee.all
redirect_to employees_path
end
def index
@employee=Employee.all
end
def show
@employee = Employee.find(params[:id])
end
def edit
@employee = Employee.find(params[:id])
end
def update
@employee = Employee.find(params[:id])
@employee.update_attributes(params[:employee])
flash[:notice]="Record has been updated"
redirect_to new_employee_path
end
def destroy
@employee = Employee.find(params[:id])
@employee.destroy
flash[:notice]="Record has been deleted"
redirect_to new_employee_path
end
end
8 => Set your routes file
sampleapplication::Application.routes.draw do
resources :employees
end
9 => In your views folder you should create view files for new, edit , show and create one partial file called index
* new.html.erb
<%= form_for @employee,:remote=>true,:url=> {:controller=> :employees, :action=>:create} do |emp|%>
Employee name:<%= emp.text_field :empname%>
Age: <%= emp.text_field :age%>
Gender: <%= emp.radio_button "gender", "m"%> Male
<%= emp.radio_button "gender", "f"%> Female
<%end%>
* show.html.erb
Employee Details
Employee: <%=@employee.empname%>
Age: <%=@employee.age%>
<%if @employee.gender == m %>
Gender: Male
<%else%>
Gender: Female
<%end%>
<%= link_to 'Back', new_employees_path %>
* edit.html.erb
<%= form_for @employee} do |emp|%>
Employee name:<%= emp.text_field :empname%>
Age: <%= emp.text_field :age%>
Gender: <%= emp.radio_button "gender", "m"%> Male
<%= emp.radio_button "gender", "f"%> Female
<%end%>
*index.html.erb
List of Employees
Create like table format
Employee Name
Age
Gender
Actions
<% @employee.each do |employee| %>
<%=employee.empname%>
<%=employee.age%>
<%@t=employee.gender%>
<% if @t== m %>
Male
<%else%>
Female
<%end%>
<% end %>
<%= link_to 'Show', employee %>
<%= link_to 'Edit', edit_employee_path(employee) %>
<%= link_to 'Destroy', employee, :confirm => 'Are you sure?', :method => :delete %>
10 => Create one js in views folder
* create.js.erb
$("#employee").html("<%= escape_javascript(render(:partial =>"index",:locals=>{:employee=>@employee})) %>");
11 => Start your server its working well
* rails s