ruby on rails:模型中变量的别名?(能够做m.attr_a == m.attr_b以及作业)

Nul*_*uli 2 ruby ruby-on-rails

有没有办法做到这一点

  def version=(version)
    self.revision = version
  end

  def version
    return self.revision
  end
Run Code Online (Sandbox Code Playgroud)

有一条线?我觉得这样做很常见.= \

Mat*_*udy 5

当你说"模特"时你的意思是ActiveRecord模特吗?

在这种情况下是的.

class MyClass < ActiveRecord::Base
  alias_attribute :version, :revision
end
Run Code Online (Sandbox Code Playgroud)

会做你想做的.

还有简单的Ruby

alias :version  :revision
alias :version= :revision=
Run Code Online (Sandbox Code Playgroud)

要么

alias_method :version,  :revision
alias_method :version=, :revision=
Run Code Online (Sandbox Code Playgroud)