【问题标题】:Controller syntax Ruby on Rails 6控制器语法 Ruby on Rails 6
【发布时间】:2020-05-24 22:39:07
【问题描述】:

在一个页面上仅显示三个帖子时遇到问题。这是我最接近让控制器使用参数的方法。

def index

    @Post = Post.all

    @Posts = Post.find.limit('3').order('date_posted')

  end

这会呈现某种语法错误,因为它需要一个 ID,但我不想给它一个 ID,我希望它找到最近的三个帖子。我该怎么办?

【问题讨论】:

    标签: ruby-on-rails ruby syntax controller ruby-on-rails-6


    【解决方案1】:

    试试这个方法

    def index
      @recent_posts = Post.limit(3).order(date_posted: :desc)
    end
    

    你的代码有什么问题

    • all 为您提供模型的所有对象
    • findfind_by 只给你一个满足传递给 find 的 id 的对象或第一个满足传递给 find_by 的条件的对象

    【讨论】:

    • 视图是否会改变?我有:
    • 在视图中使用@recent_posts。或将操作更改为@posts。如你所愿:)
    • 它现在给了我一个“nil:NilClass 的未定义方法`each'”错误:/
    • 您的操作和视图中的实例变量需要相同。并且应该可以工作。
    • 钉了它>.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多