Ruby on rails 在Rails中创建嵌套资源的路径
我必须创建一个名为“复制”的新控制器操作:Ruby on rails 在Rails中创建嵌套资源的路径,ruby-on-rails,Ruby On Rails,我必须创建一个名为“复制”的新控制器操作: def Copy old_record = @deal.contract.find(params[:id]) new_record = old_record.dup new_record.save end 我需要访问属于交易的合同 我应该如何在视图中创建指向的链接,以重定向到类似于mydomain.com/deal/1/contract/2的url 在这种情况下,我想访问属于交易1的合同编号2 应该如何配置我的路由文件?您可以
def Copy
old_record = @deal.contract.find(params[:id])
new_record = old_record.dup
new_record.save
end
我需要访问属于交易的合同
我应该如何在视图中创建指向
的链接,以重定向到类似于mydomain.com/deal/1/contract/2
的url
在这种情况下,我想访问属于交易1的合同编号2
应该如何配置我的路由文件?您可以使用资源
或其单一兄弟资源
设置嵌套路由
resources :deals do
resources :contracts do
member do
post :copy
end
end
end
这将创建一个嵌套路径,如/deals/:deal\u id/contracts/:id/copy
。请注意,它被声明为POST,因为get请求不应创建资源
您可以创建嵌套资源的路径和URL,如下所示:
path_to([@deal, @contract])
link_to(@contract.name, [@deal, @contract])
form_for([@deal, @contract])
redirect_to([@deal, @contract])
但是,您可能希望从阅读何时以及如何使用嵌套开始:
您可以使用资源
或其单一兄弟资源
设置嵌套路由
resources :deals do
resources :contracts do
member do
post :copy
end
end
end
这将创建一个嵌套路径,如/deals/:deal\u id/contracts/:id/copy
。请注意,它被声明为POST,因为get请求不应创建资源
您可以创建嵌套资源的路径和URL,如下所示:
path_to([@deal, @contract])
link_to(@contract.name, [@deal, @contract])
form_for([@deal, @contract])
redirect_to([@deal, @contract])
但是,您可能希望从阅读何时以及如何使用嵌套开始: