0

我有一个使用活动记录连接到旧数据库的模型。因为列名全部大写。我像这样为他们创建了 alias_attributes

alias_attribute(:marketing_code, :MARKETING_CODE)

不幸的是,当我使用 rest_in_place gem 时,返回的 JSON 仅包含原始列名。这导致 rest_in_place 永远不会返回写入的值,它只是说正在保存....但是进行了更新。

这就是我的视图代码的样子

   <span id="fund_<%= fund.id %>_MARKETING_CODE" class="rest-in-place" data-url="/funds/<%= fund.id %>" data-object="fund" data-attribute="MARKETING_CODE">
            <%= fund.MARKETING_CODE.blank? ? 'Fill In' : fund.MARKETING_CODE %>
          </span>

有没有办法让它与属性别名一起工作?我更喜欢使用它们,这样我就可以遵循 ruby​​ 标准。下面是 rest_in_place 的自述文件

http://rubydoc.info/gems/rest_in_place/2.1.1/frames

4

1 回答 1

0

我发现了我的问题,希望这将有助于其他人在将 alias_attribute 与 ActiveRecord 一起使用时它不会影响响应的 JSON。

我通过查看 chrome 开发人员工具中的“网络”选项卡注意到了这一点。在我的特定情况下,我使用 alias_attribute 将遗留数据库列从大写更改为小写以适应 rails 代码样式指南。不幸的是,在查看响应的 JSON 时,我看到属性以大写形式返回。

因此,对于那些使用带有遗留数据库的 rest_in_place 的人来说,它只会响应实际的列名。如果有人知道周围的工作,我将不胜感激。

于 2013-06-06T18:45:14.627 回答