您的位置:首页 > 移动开发

Making your Rails app mobile with WAP and WML

2007-06-25 13:30 489 查看
中国有超过4亿的手机用户,手机上网超过4000万。一个人每天上网平均8小时,但是手机却是24小时开机。。。同时基于web和wap的站点,更有利于推广,公司属于服务行业性质,对于特定手机用户如果需要一些有用而信息量不大的资讯,是比电脑方便的多,论流量收费也花不了多少钱,可以及时的反馈和获取一些信息,期待中国式3G时代到来。。。

下面给出实现的具体步骤:
1。设置WAP WML 文本类型。你可以在每一个controller method里这样做,也可以在application.rb文件中用before_filter来实现:

before_filter :set_wap_content_type, :only => :wap
def set_wap_content_type

@headers[”Content-Type”] = “text/vnd.wap.wml; charset=iso-8859-1″

end


2。我们创建一个布局app/views/layouts/wap.rhtml,使用wml。
<?xml version=”1.0″?>

<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN” “http://www.wapforum.org/DTD/wml_1.1.xml”>

<wml>

<card title=”<%= @title %>”>

<p align=”center”>

<%= @content_for_layout %>

</p>

</card>

</wml>

3。我们在index controller里增加一个wap方法,以便用户可以通过http://www.xxx.com/wap来访问我们wap站点。
def wap

@title = “San Francisco Sailing Weather”

render(:layout => “wml”)

end
4。最后我们来创建app/views/index/wap.rhtml来渲染我们的wap首页。
<%= link_to ‘NOAA Marine Forecast’, { :controller => ‘/marine/forecast’, :action => ‘wap’ } %><br/>

<%= link_to ‘Wind Readings’, { :controller => ‘/marine/wind’, :action => ‘wap’ } %><br/>

<%= link_to ‘Current Predictions’, { :controller => ‘/marine/tide’, :action => ‘wap’ } %>

下面的链接是效果图:
http://webcab.de/cgi-bin/wcl.cgi?a=UPG1%20UP%2F4.0&m=text%2Fvnd.wap.wml&URL=http://windandtides.com/wap
wap网站服务器配置信息:
修改Apache安装目录下conf/mime.types文件:
在该文件中增加以下内容:
  text/vnd.wap.wml .wml
  image/vnd.wap.wbmp .wbmp
  application/vnd.wap.wmlc .wmlc
  text/vnd.wap.wmls .wmls
  application/vnd.wap.wmlsc .wmlsc重启动服务器即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: