ruby-on-rails – Rails 5.x:如何在运行时添加路由而不覆盖原始
发布时间:2020-12-17 01:24:55 所属栏目:百科 来源:网络整理
导读:假设我有一个控制器动作,应该导致新的路由被添加到路由表: def make_route vanity_url = params[:vanity_url] vanity_redirect = params[:vanity_redirect] return render json: { status: 400 } unless vanity_url vanity_redirect Rails.application.rout
假设我有一个控制器动作,应该导致新的路由被添加到路由表:
def make_route vanity_url = params[:vanity_url] vanity_redirect = params[:vanity_redirect] return render json: { status: 400 } unless vanity_url && vanity_redirect Rails.application.routes.draw do get vanity_url,to: redirect(vanity_redirect) end render json: { status: :ok } end 当我触发此动作时,它会添加新路线,但会完全删除表格的其余部分!在绘制新表时,如何在原始路径前添加,追加或以其他方式映射? 解决方法
在prod的env Rails加载配置一次而不是听取更改.如果要构建自定义路由,则每次添加新路由时必须为
reload routes:
Rails.application.reload_routes! 此外,这不会将新路由附加到您的路由文件,并且任何服务器重新启动都会将路由器重置为默认值.但是,您可以将新路由保存到数据库,并在服务器启动时重新创建它们,或者在ENV变量中的routes.rb内构建路由. 但是如果你想使用绘图并且只需要一条新路线: Rails.application.routes.disable_clear_and_finalize = true #add this line Rails.application.routes.draw do #new route end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |