0

首先,我有两种方法和基本相同的变量。我怎样才能缩短这个:

def one
  humba = "was"
  que = "como"
  ruz = 12
  ....
end

def two
  humba = "was"
  que = "como"
  ....
end

我也想知道如何在我的模型中调用方法?例如,我的模型中有这种方法:

def model_def
end

在我的控制器中,我想写这样的东西:

tmp = params[:setting][:file].tempfile
doc = DBF::Table.new(tmp)
model_def(doc)
4

1 回答 1

1

有点不清楚你在问什么。但通常,您会将共享变量存储在类内的实例变量中:

class Book
  attr_accessor :title, :author

  def description
    "#{@title} was written by #{@author}."
  end
end

要回答您的问题“我怎样才能使 def 指向我的模型”,我假设您的意思是“我怎样才能在我的模型上调用方法:嗯,您创建对象的一个​​实例。在 Rails 中,它可能类似于这个:

@book = Book.find(params[:id])
@book.author = "A New Author" # to make an assignment

要读取属性,您可以这样做:

@book = Book.find(params[:id])
@book.author => "Ernest Hemingway"

在你的情况下:

class Foo
  attr_accessor :humba, :que, :ruz
end

这使您可以执行以下操作:

@foo = Foo.new
@foo.humba = "que"
@foo.humba => "que"
于 2013-09-19T15:12:57.503 回答