gpt4 book ai didi

ruby-on-rails - 如何使用 ruby​​ on rails 助手格式化 json 数据?

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:32 26 4
gpt4 key购买 nike

过去几天我一直在阅读并熟悉 handlebars.js 模板,它很棒。

现在我正在处理我的一个部分,它有一堆 html,我在其中使用了 simple_format、time_ago_in_words 等帮助程序。显然,这些助手不能与 Handlebars 一起使用。所以我想做这样的事情:

def get_micropost

respond_to do |format|
format.json { render json: formatted_micropost_json_data(Micropost.where("id < ?", params[:micropost_id]).first) }
end

end

微博 helper :

module MicropostsHelper

def formatted_micropost_json_data(micropost)

content: simple_format h(micropost.content)
created_at: time_ago_in_words(micropost.created_at)
id: micropost.id
image: micropost.image
link: micropost.link
poster_id: micropost.poster_id
updated_at: micropost.updated_at
user_id: micropost.user_id

end

end

因此,当我通过 ajax 调用取回 JSON 时,它的格式已经正确。然后我可以像往常一样简单地显示我的 Handlebars 变量。

这还能行吗?

如果不是,最好的方法是什么?

亲切的问候

最佳答案

这是我建议的代码重写:

class Micropost
def formatted_json_data
{
content: simple_format(h(self.content)),
created_at: time_ago_in_words(self.created_at),
id: self.id,
image: self.image,
link: self.link,
poster_id: self.poster_id,
updated_at: self.updated_at,
user_id: self.user_id
}
end
end

def get_micropost
respond_to do |format|
format.json do
posts = Micropost.where("id < ?", params[:micropost_id])
data = posts.first.formatted_json_data
render(json: data)
end
end
end

您想在您的方法中使用哈希文字 - 您最初拥有的不是语法上有效的 ruby​​ 代码。

同时,打破一长串的链式方法调用可能会产生更多信息丰富的错误消息,并提供更清晰的处理机会。

关于ruby-on-rails - 如何使用 ruby​​ on rails 助手格式化 json 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com