(Ruby on Rails)在routes.rb中构建URL

时间:2017-04-21 10:54:30

标签: ruby-on-rails url-routing

我是Rails的新手,所以请耐心等待。 我正在尝试构建以下网址:

@Override
public void resize(int width,int height){        
   gameOverStage.getViewport().update(width,height);
}

所以,主页(localhost:3000,当我在本地运行项目时)和产品页面(localhost:3000 /产品)已经存在,但我试图创建一个丰田页面(localhost:3000 / products /丰田)。丰田页面有自己的视图(haml页面/ javascript),与产品页面无关。

所以,我在config / routes.rb

中试过了
localhost:3000/products/toyota

但是toyota_url将我带到localhost:3000 / toyota而不是localhost:3000 / products / toyota。

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:1)

你需要这个

get '/products/toyota', to: 'static#products#toyota', as: 'toyota'

希望有所帮助!

答案 1 :(得分:1)

正如评论中所述:它是get 'my/full/path', to: ....所以请尝试get 'products/toyota', to: 'static#products#toyota', :as => 'toyota'

但我建议的是以下内容。为了保持灵活性 - 我假设您还有其他供应商/产品,创建一个动作:

路线:

get 'products/:vendor', to: 'products#vendor'

控制器:

def vendor(id)
   @car_or_whatever = Product.find_by(....)     
end

查看:

# file views/products/vendor.html.erb
<some fancy html>
   @car_or_whatever.name

   ... etc

来自文档:http://www.cplusplus.com/reference/map/map/erase/