ruby-on-rails - 单例资源:如何在路由中隐藏 ID?
问题描述
尽管我已经使用 Rails 10 年了,但路由约定和机制仍然是我没有真正看透的东西。
所以我创建了一个单例资源AppConfig
,管理员可以在其中维护我的应用程序的一些全局设置:
每个AppConfig
设置都有一个数据库字段,所以它看起来像这样:
由于应用程序只需要一个AppConfig
记录,我已经实现了一些机制来检索它AppConfig.instance
(或者在没有可用记录时创建这样的记录),灵感来自于 See How to implementation a singleton model:
def self.instance
first_or_create! app_abbreviation: 'A4AA 2.0',
app_name: 'Access for All Audit 2.0',
app_slogan_de: 'Accessibility Audit Tool der nächsten Generation',
app_slogan_en: 'Next generation accessibility audit tool',
organisation_name_de: '«Zugang für alle»',
organisation_name_en: '«Access for all»',
organisation_abbreviation_de: 'ZFA',
organisation_abbreviation_en: 'A4A',
organisation_url: 'http://www.access-for-all.ch/'
end
def self.find(*args)
instance
end
我添加了这样的路线:
resources :app_configs, only: [:show, :edit, :update]
一切都很好,但我被 URL 中的 ID 所困扰:
有没有办法隐藏它,只需要/en/app_configs
(指向#show
)和/en/app_configs/edit
?我摆弄resource
(而不是resources
),但我似乎很难让它工作。
解决方案
推荐阅读
- javascript - 如何用分页做点击项目?
- netbeans - Netbeans,如何删除 Gradle 项目
- html - 防止手机大屏背景图片溢出
- sql - FromSqlRaw 注入 EF Core 3.0
- html - 左侧带有徽标的 CSS 标题,最右侧带有多个段落
- python - 使用自定义 mape 损失时的 keras nan 损失
- python - Keras:无法为具有形状的数组分配 3.75 GiB
- perl - 如何找出哈希中是否至少有一个键
- javascript - Webpack 源图问题
- ios - 当 safari 未聚焦/隐藏时,iPhone 上的 Websocket 连接会丢失