如何将模型中的方法中的值传递给另一个方法,或者在rails上的ruby中传递控制器

时间:2015-02-13 02:45:19

标签: ruby-on-rails ruby

我可以在模型中的方法之间传递值,还是在ruby on rails中传递方法和控制器之间的值?这里是我的例子:

我的模特:

class Artist::Data < ActiveRecord::Base
   def self.set1(timeline)
      a = timeline
      set2 << a
   end
   def self.set2
      logger.debug "HAA #{a}"
      return a
   end
end

我的控制器:

class Feed::FeedsController < ApplicationController
  def index
     #get a from set2 method
     @a = Artist::Data.set2  (=a)
  end
end

这只是一个例子,我不知道如何在真实应用中做到这一点。我想将值从set1方法传递给set2方法,然后我可以在FeedsController中显示它。所以,我该怎么办?,请帮帮我!

1 个答案:

答案 0 :(得分:1)

我假设你熟悉类变量和实例变量。因此,如果要在两个类方法之间传递数据,可以使用类变量。

class Artist::Data < ActiveRecord::Base
   def self.set1(timeline)
      @a = timeline
   end
   def self.set2
      logger.debug "HAA #{@a}"
      return @a
   end
end

更多信息:http://rubymonk.com/learning/books/4-ruby-primer-ascent/chapters/45-more-classes/lessons/113-class-variables