ruby-on-rails – Ruby on Rails嵌套具有has_one关联的路由
发布时间:2020-12-17 03:41:06 所属栏目:百科 来源:网络整理
导读:我有两个型号: 保留: class Reservation ActiveRecord::Base has_one :car_emissionend CarEmission: class CarEmission ActiveRecord::Base belongs_to :reservationend 以下路线: resources :reservations do resources :car_emissionsend 现在,当我想
我有两个型号:
保留: class Reservation < ActiveRecord::Base has_one :car_emission end CarEmission: class CarEmission < ActiveRecord::Base belongs_to :reservation end 以下路线: resources :reservations do resources :car_emissions end 现在,当我想创建新的car_emission时,我必须访问这样的url: http://localhost:3000/reservations/1/car_emissions/new 当我想编辑时,我必须访问: http://localhost:3000/reservations/1/car_emissions/1/edit 无论如何要更改我的car_emission编辑链接将如下所示的路线: http://localhost:3000/reservations/1/car_emission 解决方法
你想做几件事:
1. Create singular resource 2. Change the `edit` path for your controller Singular Resource 正如@sreekanthGS所建议的那样,你首先要创造一个独特的资源.这与资源方法的工作方式相同,只不过它将您的路由视为单个记录;取消索引路线等: #config/routes.rb resources :reservations do resource :car_emission # -> localhost:3000/reservations/1/car_emission end 编辑 这将为你的car_emission创建一组RESTful路由,但是当你点击“裸”链接时它仍然会带你进入car_emissions#show动作 你最好这样做: #config/routes.rb resources :reservations do resource :car_emission,except: :show,path_names: { edit: "" } end 当您点击“裸”链接时,这将带您进行编辑操作 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |