gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中零碎地设置属性

转载 作者:太空宇宙 更新时间:2023-11-03 16:19:31 28 4
gpt4 key购买 nike

我有一个模型,比如问题,其中包含字段 time_asked 和 time_answered。我希望能够在提供问题时设置 time_asked,在发布回复时设置 time_answered。这可能吗?我该怎么做?

最佳答案

您可以使用 active record callbacks这样做。假设您有一个单独的类 Response 并且它属于 Question。所以你的 time_asked 代码看起来像:

class Question < ActiveRecord::Base
has_many :responses
before_create :fill_time_asked

private
def fill_time_asked
time_asked = Time.now
end
end

response.rb:

class Response < ActiveRecord::Base
belongs_to :question
before_create :fill_time_answered

private
def fill_time_answered
question.time_aswered = Time.now
end
end

另一种方法是手动调用适当的方法,例如question.asked!question.answered! 来自您的 Controller 。然而,Rails 的方法是将业务逻辑保留在您的模型中并拥有瘦 Controller 。

关于ruby-on-rails - 如何在 Rails 中零碎地设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698143/

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