我对Rails不熟悉,所以请容忍我在这里。我正在尝试构建以下URL:
localhost:3000/products/toyota
因此,主页(本地运行项目时的localhost:3000)和产品页面(localhost:3000/ products )已经存在,但我正在尝试创建一个丰田页面(localhost:3000/products/ toyota )。丰田页面有自己的视图(haml页面/javascript),独立于产品页面。
所以,我在config/rouderes.rb中尝试了这一点。
get 'toyota', to: 'static#products#toyota'
但是toyota_url把我带到了本地:3000/丰田,而不是本地:3000/products/丰田。
有什么办法解决这个问题吗?
发布于 2017-04-21 11:05:11
你需要这个代替
get '/products/toyota', to: 'static#products#toyota', as: 'toyota'
希望这能帮上忙!
发布于 2017-04-21 11:13:06
如注释中所述:它是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://guides.rubyonrails.org/routing.html#generating-paths-and-urls-from-code
https://stackoverflow.com/questions/43540875
复制相似问题