Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在不同的方法中使用相同的变量?如何在模型中调用实例方法?_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 如何在不同的方法中使用相同的变量?如何在模型中调用实例方法?

Ruby on rails 如何在不同的方法中使用相同的变量?如何在模型中调用实例方法?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,首先,我有两种方法和基本相同的变量。我如何缩短此时间: def one humba = "was" que = "como" ruz = 12 .... end def two humba = "was" que = "como" .... end 我还想知道如何在我的模型中调用方法?例如,我在模型中使用了以下方法: def model_def end 在我的控制器中,我想写下如下内容: tmp = params[:setting][:file].tempfil

首先,我有两种方法和基本相同的变量。我如何缩短此时间:

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)
@book = Book.find(params[:id])
@book.author = "A New Author" # to make an assignment

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

class Book
  attr_accessor :title, :author

  def description
    "#{@title} was written by #{@author}."
  end
end
为了回答您的问题“如何创建指向我的模型的def”,我假设您的意思是“如何在我的模型上调用方法:好吧,您创建了对象的一个实例。在Rails中,它可能是这样的:

tmp = params[:setting][:file].tempfile
doc = DBF::Table.new(tmp)
model_def(doc)
@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"

你能试着每个帖子只问一个问题吗?