gpt4 book ai didi

ruby-on-rails - Rails 3 - 如何更改参数 :id in resources

转载 作者:行者123 更新时间:2023-12-04 06:11:31 26 4
gpt4 key购买 nike

routes.rb中,

资源:项目

给出以下路线

/projects/
/projects/:id

在使用嵌套资源时

resources :projects do
resources :photos
end

它给出了以下路线

/projects/
/projects/:id
/projects/:project_id/photos
/projects/:project_id/photos/:id

这给了我问题,因为我必须编写特定于 Controller 的 before_filter 在 params[:id]params[:project_id] 之间进行选择以执行 Project。查找(参数[:project_id] || 参数[:id])

有什么方法可以更改所有路线的路线,使其具有 :project_id 本身?

/projects/
**/projects/:project_id**
/projects/:project_id/photos
/projects/:project_id/photos/:id

最佳答案

另一种方法是定义方法,在ApplicationController中通过:project_id找到当前项目

def current_project
@current_project ||= Project.find params[:project_id]
end

并在ProjectController中重新定义这个方法

def current_project
@current_project ||= Project.find params[:id]
end

然后,您可以在所有 Controller 的过滤器中使用 current_project

关于ruby-on-rails - Rails 3 - 如何更改参数 :id in resources,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com