目前正在开发 RoR 移动 Web 应用程序,用于显示有关特定地点的信息。
我们将这些地方称为“装置”。每个装置至少有一个“ field ”,这是该装置的一个特定实例。例如,一个装置可以是一个城市公园,其相应的 field 之一可以是音乐会或事件期间的公园。如果这个例子令人困惑,请忽略,也没有多大关系。
这些安装及其相应地点的数据以 json 对象的形式托管在 Amazon Web Service S3 上。我使用 HTTParty 读取 AWS S3 json 对象。我目前正在这样阅读它们:
在应用程序 Controller 中我有:
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
在我相应的 Controller 中,我获得单独的信息:
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 之类的操作,那么是否可以为每个场所设置子域,然后将该场所作为字符串拉入?
任何帮助表示赞赏!谢谢!
最佳答案
如果您将其放入 config/routes.rb
文件中,那么您将能够使用您想要的 URL 模式:
match ':installation/:venue/index', :controller => :venue, :action => :index
关于ruby-on-rails - 特定的 Ruby on Rails 路线 deliema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9336433/