gpt4 book ai didi

ruby-on-rails-3 - 如何从 routes.rb 调用不同的 Controller

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

我只是在一个问题上挣扎了几个小时,这似乎很容易,但对我和谷歌来说都不是:)

我把一些路线通过

scope :path => '/:mandate_key', :controller => :tasks do
get '/' => :index #mandate_path
match '/import' => "import#index"
match '/clearance' => "clearance#index"
end

到目前为止,太丑了!我正在寻找一种方法来调用依赖于第二个参数的不同 Controller (导入和清除)。像这样的东西:
scope :path => '/:mandate_key', :controller => :tasks do
get '/' => :index
scope :path => ':task_key', :controller => %{'task_key'}
get '/' => :index
end
end

哪里 :task_key应识别为 params[:task_key]并且被调用的 Controller 应该是 params[:task_key]的值

因此,如果单击像 http://some.url/a_mandate_key/import 这样的链接它应该调用 ImportController .

我相信解决方案会很简单,但很难找到!

最佳答案

有时人们正在寻找一种高度复杂的解决方案,但它可能会容易得多:

scope :path => '/:mandate_key' do
get '/' => "tasks#index" #mandate_path
get '/import' => "import#index"
get '/clearance' => "clearance#index"
end

调用 http://localhost/mandate Controller 'mandate' 被称为 params[:mandate_key] 提供了 'mandate'

调用 http://localhost/mandate/import Controller 'import' 被称为 params[:controller] 提供了 'import'

尝试简单的方法通常是最好的方法:)

感谢您的帮助,博丹!

关于ruby-on-rails-3 - 如何从 routes.rb 调用不同的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683610/

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