Ruby on rails 有没有一种方法可以让模型方法在不显式传递的情况下处理变量?

Ruby on rails 有没有一种方法可以让模型方法在不显式传递的情况下处理变量?,ruby-on-rails,variables,Ruby On Rails,Variables,我知道这听起来是一个荒谬的问题,但我试图解决潜在雇主提出的一个难题。我有一个模式和几个模型及其方法。几乎所有的方法都没有传入变量。这意味着没有一种方法是这样的: def this_is_my_method(variable) #stuff end def build_address if variable # do something end end ?my_method[begin]=1&my_method[end]=5 或 但有一些方法显然可以处理这样的变量

我知道这听起来是一个荒谬的问题,但我试图解决潜在雇主提出的一个难题。我有一个模式和几个模型及其方法。几乎所有的方法都没有传入变量。这意味着没有一种方法是这样的:

def this_is_my_method(variable)
  #stuff
end
def build_address
  if variable
    # do something
  end
end
?my_method[begin]=1&my_method[end]=5

但有一些方法显然可以处理这样的变量:

def this_is_my_method(variable)
  #stuff
end
def build_address
  if variable
    # do something
  end
end
?my_method[begin]=1&my_method[end]=5
在某些情况下,模型方法是否只知道某些参数或变量

因此,如果我的控制器接收的参数如下所示:

def this_is_my_method(variable)
  #stuff
end
def build_address
  if variable
    # do something
  end
end
?my_method[begin]=1&my_method[end]=5
模型方法“my_方法”是否知道“开始”和“结束”在哪里


请记住,模型方法可以访问该模型实例的所有属性(和其他方法)

所以(例如)这将是一个有效的模型方法

class User < ActiveRecord::Base

  def full_name
    [first_name, last_name].join(' ')
  end

end

尽管坦率地说,我宁愿将值作为方法参数传入。

将该变量创建为属性访问器………当您要传递赋值给对象时,否则将得到零…..好的,修改我的答案。。。如果我还没有完全理解你的问题,请告诉我。