Ruby on rails Ruby Review类创建

Ruby on rails Ruby Review类创建,ruby-on-rails,ruby,review,Ruby On Rails,Ruby,Review,下面看到的Review类表示用户为产品提交的审阅。在代码中的其他地方,Review.recent使用产品id调用,该id只是表示单个产品的唯一编号。填写代码,使其按预期工作 Review.recent-此函数应返回具有指定产品id的5个最新评论(按提交时间排序) -在比较两个对象进行排序时调用此特殊的Ruby函数。它返回1、0或+1,具体取决于对象是小于、等于还是大于另一个对象。您需要按提交时间对项目进行排序,以便最新的项目首先出现 set_submit_time-在创建审阅之前调用此函数。我们

下面看到的Review类表示用户为产品提交的审阅。在代码中的其他地方,Review.recent使用产品id调用,该id只是表示单个产品的唯一编号。填写代码,使其按预期工作

Review.recent-此函数应返回具有指定产品id的5个最新评论(按提交时间排序)

-在比较两个对象进行排序时调用此特殊的Ruby函数。它返回1、0或+1,具体取决于对象是小于、等于还是大于另一个对象。您需要按提交时间对项目进行排序,以便最新的项目首先出现

set_submit_time-在创建审阅之前调用此函数。我们可以使用Ruby的Time类将submit_Time设置为now,这样我们就可以知道评审是何时创建的

我是ruby新手,我希望这段代码用于我非常重要的工作,所以我如何才能完成它请帮助我

class Review < ApplicationRecord
  # Every Review has a product_id and submit time
  attr_accessor :product_id
  attr_accessor :submit_time

  # Before the new record is created, we'll call the :set_submit_time method
  before_create :set_submit_time

  def self.recent(product_id)
    # Return only the 5 newest results for this product
    # Reference: https://ruby-doc.org/core-2.4.2/Enumerable.html
    Review.all
  end

  def <=>(other_review)
    # Implement the comparison function for sorting
    # Reference: http://ruby-doc.org/core-2.4.2/Comparable.html
  end

  private

  def set_submit_time
    # Set the submit_time
    # Reference: https://ruby-doc.org/core-2.2.4/Time.html
  end
end
class Review
  • self.recent
  • 这要求您
    提交时间
    订购,并返回前5个结果

    要执行订购,请参阅:

    要执行限制,请参阅:

    如果您仍然无法解决此问题,请向我们展示您的尝试

  • 如果单击您提供的注释()中的链接,则解决方案几乎与该示例相同

    如果您仍然无法解决此问题,请向我们展示您的尝试

  • 设置提交时间
  • 值得一看:-了解回调的含义。基本上,只要创建新记录,就会自动调用此方法。(你可能已经猜到了,这是基于一个相当不言自明的名字:
    在你创建之前
    !)

    同样,该页面上的第一个示例与您的场景几乎相同。您可以使用
    Time.now
    获取当前时间


    如果您仍然无法解决此问题,请向我们展示您的尝试。

    此问题看起来像是学校的作业:)。1.阅读关于,2<代码>自我。提交时间其他审查。提交时间
    3<代码>审查。地点(产品编号:产品编号)。订单(“提交时间描述”)。限制(5)
    这是您想要完成的面试问题还是教程?请展示您迄今为止所写/尝试的内容,并解释您遇到的困难。@nuaky我尝试了您的第三点,但它给我带来了一个错误,即未定义的方法“where”@Stefan您是对的,因为我有一个与项目相关的HTML和ruby,但我不知道ruby,这种语言对我来说是新的。