ruby-on-rails - Ruby on Rails 中带有连字符的字段参数

标签 ruby-on-rails

Rails 采用驼峰式或下划线命名约定,这是给出的。

但是如果要存储在 Rails 应用程序中的数据具有不同的命名约定怎么办?

例如,第 3 方 API 可能会以“fieldId”或“field-id”的形式返回一些参数。

对于像“field-id”这样的参数,如何在 Rails 中设计 MVC 来适应这种情况?如果资源名为“field_id”,Rails 会忽略参数“field-id”并且不会保存数据 - 从安全角度来看这是件好事,但仍然存在业务问题。

有什么想法吗?

最佳答案

第三方系统不符合您自己的内部结构是很正常的。您可以尝试更改自己的结构,但通常应该构建一些可以在外部结构和内部结构之间进行转换的东西。 这种情况非常常见,因此有多种模式,例如: adapter-pattern

如果您想要一些更具体的建议,您需要自己更具体,这个 API 是什么,如何访问它。如果您正在谈论 HTTP-Post-Parameters,您只需编写一个方法,该方法将哈希作为输入并输出另一个具有不同键名称的哈希。

关于ruby-on-rails - Ruby on Rails 中带有连字符的字段参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35812277/

相关文章:

ruby-on-rails - 如何向 I18n 动态添加值?

ruby-on-rails - Rails 中具有自动完成功能的城市文本字段

ruby-on-rails - 使用JSONAPI适配器从Emberjs发布到Rails,Rails看不到参数

ruby-on-rails - 有没有好的macvim git diff?

html - 将 html 类与 Ruby 助手中的默认值合并

javascript - 在something.js.haml中编写JS if条件

ruby-on-rails - 使用 RVM 在 Ubuntu 11.10 上安装 iconv 时出错

ruby-on-rails - 排队新工作时如何获取工作人员ID

ruby-on-rails - rails : ActiveRecord Association returns a nil relationship

ruby-on-rails - 销毁文件时查找Carrierwave中 'Stack level too deep'的原因