Ruby on rails 在初始值设定项中设置Rails路由
我正在用RubyonRails构建一个web应用程序,我希望路由可以由用户编辑。因此,我想添加一个简单的初始值设定项来添加用户指定的路由,但我真的不知道如何才能做到这一点。有什么简单的方法吗?我在Ruby on rails 在初始值设定项中设置Rails路由,ruby-on-rails,ruby,routing,initialization,Ruby On Rails,Ruby,Routing,Initialization,我正在用RubyonRails构建一个web应用程序,我希望路由可以由用户编辑。因此,我想添加一个简单的初始值设定项来添加用户指定的路由,但我真的不知道如何才能做到这一点。有什么简单的方法吗?我在应用程序.rb上尝试了这个: config.after_initialize do Rails.application.reload_routes! Rails.logger.info "#{Rails.application.routes.routes.map(&:path)}
应用程序.rb上尝试了这个:
config.after_initialize do
Rails.application.reload_routes!
Rails.logger.info "#{Rails.application.routes.routes.map(&:path)}"
MyApp::Application.routes.draw do
get '/droplet' => 'admin#index'
end
end
MyApp::Application.routes.draw do
devise_for :users
root :to => 'target_finder#show_page'
match '*path' => 'target_finder#show_page'
end
但这似乎不起作用。这是我的路线中的路线。rb
:
config.after_initialize do
Rails.application.reload_routes!
Rails.logger.info "#{Rails.application.routes.routes.map(&:path)}"
MyApp::Application.routes.draw do
get '/droplet' => 'admin#index'
end
end
MyApp::Application.routes.draw do
devise_for :users
root :to => 'target_finder#show_page'
match '*path' => 'target_finder#show_page'
end
提前谢谢 我建议看一下gem,它可以从用户的任何属性定义自定义路由,因此您可以有一个:url
用户属性,然后通过添加slug
索引,然后将扩展FriendlyId
和FriendlyId:url,将其用于路由,在用户模型中使用::sluged
。如何进行控制器操作,在参数中执行,测试它们是否与配置的路由匹配,然后从那里执行操作
MyApp::Application.routes.draw do
devise_for :users
root :to => 'target_finder#show_page'
match '*path' => 'test_if_custom#CustomController'
end
class CustomController < ActionController::Base
def test_if_custom
if url_for(params) == Rails.application.routes.routes.map(&:path)
take_custom_action
else
take_default_action # Redirects or errors, maybe.
end
end
end
MyApp::Application.routes.draw do
为:用户设计
root:to=>'target_finder#show_page'
匹配“*路径”=>“测试_如果_自定义#自定义控制器”
结束
类CustomController
请给我们一万英尺的视野,看看你在这里想做什么,因为我们只能猜测这背后的真正问题是什么。