【发布时间】:2019-11-16 23:24:15
【问题描述】:
我目前正在学习 Rails,并且正在构建我的第一个 Rails 项目。我创建了一个 :restaurant 模型(以及其他模型 - 预订和用户),其中包含多个属性,其中包括 :city。这是我的架构:
create_table "restaurants", force: :cascade do |t|
t.string "name"
t.string "city"
t.string "website"
t.string "phone_number"
t.integer "ratings"
t.integer "capacity"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
在我的根“/”页面中,我将唯一的城市值显示为带有链接的列表。我希望用户可以通过点击他们所在或计划访问的城市来浏览餐馆(最好使用链接'/restaurants/#{city}'并通过该链接最终进入一个包含餐馆列表的页面那个城市。
我一直在试图弄清楚如何做到这一点,目前我的相关路线如下所示:
resources :restaurants do
resources :bookings
end
我尝试将 :city 创建为嵌套资源,但这最终以 url '/restaurants/:restaurant_id/:city' 结尾,这不是我想要实现的。
但最重要的是,我无法弄清楚用户在根页面中单击的“城市”如何导致该城市中所有餐馆的页面。
任何建议都会很有帮助。
谢谢。
【问题讨论】:
标签: ruby-on-rails activerecord routing