目前正在开发用于显示特定地点信息的RoR移动网络应用程序。
我们称这些地方为“装置”。每个安装都至少有一个“场所”,这是安装的特定实例。因此,例如,安装可以是城市公园,并且其中一个相应的场地可以是音乐会或活动期间的公园。如果这个例子令人困惑,无视,那也无关紧要。
这些安装及其相应场所的数据作为json对象托管在Amazon Web Service S3上。我使用HTTParty读取AWS S3 json对象。我目前正在阅读它们:
在应用程序控制器中,我有:
inlcude HTTParty
base_uri 's3.amazonaws.com/our_bucket'
before_filter :set_up_httparty
def set_up_httparty
@installation = "INSTALLATION"
@venue = "VENUE"
@dir_url = "/#{@installation}/#{@venue}/"
end
在我的相应控制器中,我获得了单独的信息:
response =
ApplicationController.get("#{@dir_url}/ConstantUniqueName.json")
目前我正在硬编码INSTALLATION和VENUE值以指向一组特定的文件夹。这很好用,但我需要能够从URL中获取这些值,如下所示:
www.themobilewebapp.com/INSTALLATION/VENUE/index
现在我确信最有可能用这样的参数传递这些值:
www.themobilewebapp.com/index?installtion=INSTALLATION&venue=VENUE
但如果可能的话,我想按照以前的方式设置我的网址。我需要让URL友好,让用户自己放入并让QRC代码直接指向特定的安装和相应的场地。
如果无法做到像www.mobwebapp.com/INSTALL/VEN/index这样的事情,那么是否可以为每个场地设置子域名,然后将该场地拉成一个字符串?
任何帮助表示赞赏!!谢谢!
答案 0 :(得分:2)
如果您将其放在config/routes.rb
文件中,那么您将能够使用所需的网址格式:
match ':installation/:venue/index', :controller => :venue, :action => :index