如何在没有控制器调用的情况下在项目内的任何地方调用模型方法?

时间:2018-12-12 08:04:20

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-3.2 ruby-on-rails-5

我在方法名称中有模型任务not_completed_list,其中一些记录存储在@list变量中。我需要在没有控制器的情况下从视图循环该变量(@list)?

Task.rb

class Task < ApplicationRecord
    def self.not_completed_list
      @list= Person.pluck(:completed_on)#[name1,name2,name3]
    end
end

我的观点

not_completed_list.@list do |x|
  puts x#1sttime looping name1,2nd time..name2,3rd time name3
end

1 个答案:

答案 0 :(得分:2)

只需关注以下内容,

<% Task.not_completed_list.each do |completed_on| %>

模型应该是

class Task < ApplicationRecord
  def self.not_completed_list
    Person.pluck(:completed_on)
  end
end

但是您的实现和流程需要大量更改。

您无需创建任何类方法就可以轻松获得视图,

<% Person.pluck(:completed_on).each do |completed_on| %>