1, Client的check url
<%=link_to_remote 'Check Availability',
:submit => "signupForm",
:url => {:controller => 'users', :action => 'check_avaiable' },
:html => {:class => 'smallText'} %>
:submit => "signupForm",
:url => {:controller => 'users', :action => 'check_avaiable' },
:html => {:class => 'smallText'} %>
2, Controller的action
def check_avaiable
respond_to do |format|
format.html { redirect_to '/' }
format.js
end
end
respond_to do |format|
format.html { redirect_to '/' }
format.js
end
end
3, RJS 文件
代码exist_user = User.find_by_username(params[:username])
if exist_user.nil? then
page.replace_html :check_username, :partial => 'check_avaiable', :locals=>{:check_value => params[:username]}
else
page.replace_html :check_username, :partial => 'check_not_avaiable', :locals=>{:check_value => params[:username]}
end
exist_email = User.find_by_email(params[:email])
if exist_email.nil? then
page.replace_html :check_email, :partial => 'check_avaiable', :locals=>{:check_value => params[:email]}
else
page.replace_html :check_email, :partial => 'check_not_avaiable', :locals=>{:check_value => params[:email]}
end
if exist_user.nil? then
page.replace_html :check_username, :partial => 'check_avaiable', :locals=>{:check_value => params[:username]}
else
page.replace_html :check_username, :partial => 'check_not_avaiable', :locals=>{:check_value => params[:username]}
end
exist_email = User.find_by_email(params[:email])
if exist_email.nil? then
page.replace_html :check_email, :partial => 'check_avaiable', :locals=>{:check_value => params[:email]}
else
page.replace_html :check_email, :partial => 'check_not_avaiable', :locals=>{:check_value => params[:email]}
end
posted @ 2010-05-16 15:06 James 阅读(19) 评论(0) 编辑
1, Client
<%=link_to_remote 'Check Availability',
:submit => "signupForm",
:url => {:controller => 'users', :action => 'check_username_avaiable' },
:update => 'check_username',
:html => {:class => 'smallText'} %>
:submit => "signupForm",
:url => {:controller => 'users', :action => 'check_username_avaiable' },
:update => 'check_username',
:html => {:class => 'smallText'} %>
注意这里的submit 是Form的ID, update是ajax回来以后要update的DOM的ID
2, server
def check_username_avaiable
exist_user = User.find_by_username(params[:username])
exist_user = 'yes' if params[:username] == 'demo'
if exist_user.nil? then
render :partial=>'username_avaiable', :locals => {:username => params[:username]}
else
render :partial=>'username_not_avaiable', :locals => {:username => params[:username]}
end
end
exist_user = User.find_by_username(params[:username])
exist_user = 'yes' if params[:username] == 'demo'
if exist_user.nil? then
render :partial=>'username_avaiable', :locals => {:username => params[:username]}
else
render :partial=>'username_not_avaiable', :locals => {:username => params[:username]}
end
end
posted @ 2010-05-16 13:22 James 阅读(19) 评论(0) 编辑
