ruby-on-rails - 特定的 Ruby on Rails 路线 deliema

标签 ruby-on-rails ruby routes httparty custom-routes

目前正在开发 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/

相关文章:

ruby-on-rails - 从您自己的 gem 创建路由条目

c# - Web API : A potentially dangerous Request. 从客户端检测到路径值

Angular 4 - 如何在具有不同布局(页眉和页脚)的页面之间进行路由?

ruby-on-rails - rails : Your user account isn't allowed to install to the system RubyGems

ruby-on-rails - 如何在 Ruby on Rails 中找出用户上传的成人图片?

ruby-on-rails - 如何设置多层 Rails ActiveRecord 多对多关系?

ruby - Git 预提交 Hook

ruby-on-rails - 如何向 link_to 外部 URL 添加参数?

ruby-on-rails - Ruby - 为什么这个构造返回零?

ruby - 包含撇号的 Ruby 正则表达式是什么?