ruby-on-rails – RoR模型似乎不像Ruby类?
发布时间:2020-12-17 04:05:53 所属栏目:百科 来源:网络整理
导读:如果我有一个RoR模型person.rb如下: class Person ActiveRecord::Base attr_accessible :first_name,:last_name validates :first_name,presence: true validates :last_name,presence: trueend 我似乎无法做以下任何事情: @full_name = @first_name + " "
如果我有一个RoR模型person.rb如下:
class Person < ActiveRecord::Base attr_accessible :first_name,:last_name validates :first_name,presence: true validates :last_name,presence: true end 我似乎无法做以下任何事情: @full_name = @first_name + " " + @last_name 要么 def full_name @first_name + " " + @last_name end 根据我的理解,这两个应该适用于常规的ruby类. 我做了一些阅读,下面似乎是要走的路: def full_name self.first_name + " " + self.last_name end 我可以做这个工作,但我真的很想理解为什么我似乎无法以任何方式引用实例变量(也不能创建新的变量). ActiveRecord :: Base是否对实例变量做了一些非常有趣的事情?它是否限制模型(在这种情况下为Person类)仅仅是围绕数据库中的内容的包装器? 我似乎无法定义attr_accessor …但我可以设置first_name和last_name就好了(不仅通过质量赋值而且p = Person.new; p.first_name = foo) 如果有人能够对此有所了解,我将不胜感激. 非常感谢, 解决方法
ActiveRecord模型属性存储在名为@attributes的实例变量中,该变量是一个哈希.定义getter和setter以供您访问此变量.
顺便说一句,这是在Ruby中连接字符串的推荐方法: "#{first_name} #{last_name}" 有一个内置的“to_s”方法(在大多数对象上),允许您以这种方式将它们直接插入到字符串中.虽然你不能这样做:“string”1而不引发错误,你可以这样做:“string#{1}” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 对XML进行创建,读取,追加,删除节点的操作
- 使用ajax和window.history.pushState无刷新改变页面内容和地
- Swift语言中某个财产的感叹号是什么?
- 什么是多行的正则表达式模式(logstash)
- swift – iOS 9中的requestLocation()多次调用didUpdateLoc
- powershell xml排序节点和替换子节点
- OpenVINO 目标检测底层C++代码改写实现(待优化)
- ruby-on-rails – 在尝试使用AngularJS将数据发布到RAils服
- ruby-on-rails – Rails ActiveRecord:PG ::错误:错误:列
- 解决flexpaper搜索文字时不能高亮的问题