我有一个使用活动记录连接到旧数据库的模型。因为列名是全部大写的。我为他们创建了alias_attributes,如此
alias_attribute(:marketing_code, :MARKETING_CODE)
当我使用rest_in_place gem时,Unfortunatley返回的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的README
答案 0 :(得分:0)
我弄清楚了我的问题,希望这会有助于其他人在使用ActiveRecord的alias_attribute时,它不会影响响应的JSON。
通过查看chrome开发人员工具中的“网络”标签,我注意到了这一点。在我的特定情况下,我使用alias_attribute将遗留数据库列从upper_case更改为lower_case以适合rails代码样式指南。不幸的是,在查看响应的JSON时,我看到属性被返回为UPPERCASE。
因此对于那些将rest_in_place与遗留数据库一起使用的人来说,它只会响应实际的列名。如果有人知道我的工作,我将不胜感激。