Edit database.yml
. / script / generate scaffold user information: text
rake db: create: all
rake db: migrate
Add a user
New add_user.xhtml
<?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms"> <head> <title>Search Form v3</title> <xf:model> <xf:instance> <xf:person> <xf:username></xf:username> <xf:password></xf:password> </xf:person> </xf:instance> <xf:submission action="/users/create" method="post" /> </xf:model> </head> <body> <p> <xf:input ref="xf:username"> <xf:label>名字:</xf:label> </xf:input> <xf:input ref="xf:password"> <xf:label>密码:</xf:label> </xf:input> <xf:submit submission="submit-search"> <xf:label>Add User</xf:label> </xf:submit> </p> </body> </html>
<xf:submission action="/users/create" method="post" /> designated submitted action
Modify users_controller: create
def create
doc = REXML::Document.new("<person></person>")
params[:person].each_pair do |key,value|
if key.index(':') == nil and key != "xmlns"
el = REXML::Element.new("xf:"+key)
el.add_text value
doc.root.add(el)
else
doc.root.add_attribute(key,value)
end
end
@user = User.new
@user.infomation = doc.to_s
respond_to do |format|
if @user.save
flash[:notice] = 'User was successfully created.'
format.html { redirect_to(@user) }
format.xml { render :xml => @user, :status => :created, :location => @user }
else
format.html { render :action => "new" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end







