1

我有一个显示我的@step 模型属性的视图文件(show.json.erb),我想格式化 DateTime 属性“published_on”。在我当前的实现中,我得到了错误:

undefined method `strftime' for :published_on:Symbol

这是我的代码:

{ 
    "success":true, 
    "info":"ok", 
    "data":
        { "step":
            <%= JSON.pretty_generate(@step.as_json(only: [:name, :description, :id, :last, :position, :published_on.strftime("%m/%d/%Y %H:%M:%S")], include: {images: {only: [:file, :position] } } )).html_safe %>
    } 
}

有关如何解决此错误的任何想法?

4

1 回答 1

0

我通过在我的模型中定义一个属性来解决这个问题:

def formatted_date
  published_on.strftime("%m/%d/%Y %H:%M:%S")
end

然后我在我的 json 文件中引用了它:

<%= JSON.pretty_generate(@step.as_json(only: [:name, :description, :id, :last], methods: :formatted_date, include: {images: {only: [:file, :position] } } )).html_safe %>
于 2013-06-29T20:26:25.753 回答