ruby-on-rails - 在 Rails 路由器中访问请求上下文对象
问题描述
我需要通过以下方式在我的 Rails 路由器中创建一些动态路由:
Rails.application.routes.draw do
account = Account.find_by(
subdomain: request.subdomain,
domain: request.domain
)
EditableField.where(account_id: account.id).links.each do |link|
get link.link_href, to: link.method
end
end
如上图,我需要根据请求域和子域来确定账号,但是在rails路由器中我找不到如何访问请求对象。这样做的正确方法是什么?
解决方案
我建议使用 rack-rewrite gem https://github.com/jtrupiano/rack-rewrite
它处于较低级别,为您提供更多选择来执行这种动态路由
如果你仍然想在 routes.rb 文件中这样做,你可以按照这个答案https://stackoverflow.com/a/24411835/2529330
享受 :)
推荐阅读
- python - 为什么带有pyodide和python模块的wep页面无法在iOS上加载,但可以在Android和桌面上加载?
- python-3.x - 如何在 tarfile 中模仿 `--numeric-owner`?
- firebase - 如何使用 Firebase 修复 Android Studio 自动完成?
- javascript - Formik 验证 isSubmitting / isValidating 未设置为 true
- javascript - 有没有办法同时用多个回调修改相同的状态?
- java - java.lang.ClassNotFoundException: org.apache.http.HttpEntity 在 HttpPost
- spring-boot - spring boot 无法解析 thymeleaf 模板
- sql-server - 将数据从 Excel 上传到 SQL 格式化日期
- sequelize.js - Sequelize:将 where 子句应用于子查询
- powershell - Invoke-PnPQuery 权限问题