- - :
def index
@people = Person.find(:all)
end
. , -, :
def index
@people = Person.find(:all)
respond_to do |format|
format.html
format.xml { render :xml => @people.to_xml }
end
end
, " HTML , , , XML, XML ". (Rails HTTP Accept , .)
Suppose you have an action that adds a new person, not necessarily creating their company (by name), if it doesn’t already exist, without web services, it might look like this:
def create
@company = Company.find_or_create_by_name(params[:company][:name])
@person = @company.people.create(params[:person])
redirect_to(person_list_url)
end
. The same actions, with web service support, baked in:
def create
company = params[:person].delete(:company)
@company = Company.find_or_create_by_name(company[:name])
@person = @company.people.create(params[:person])
respond_to do |format|
format.html { redirect_to(person_list_url) }
format.js
format.xml { render :xml => @person.to_xml(:include => @company) }
end
end