我有一个包含源URL的模型项
class Item < ActiveRecord::Base
attr_accessible :name, :price, :priority,:picture,:url
belongs_to :user
validates :url, format: /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$)/ix
validates_attachment_content_type :picture, :content_type => ['image/jpeg', 'image/png']
#default_scope {where "completed<>trued"}
def source
hostname=@url.split('/')[2]
hostname["www."]=""
hostname
end
end
我在indexview
中使用它 <a href="<%=item.url%>"><%=item.source %></a>
所以我可以访问item.url。但是item.source抛出异常:
未定义的方法`split'代表nil:NilClass
我认为这是因为source方法没有访问url属性。我怎么做到这一点?我假设这是它应该如何工作在红宝石。我可能会犯错误
答案 0 :(得分:2)
@url
来自哪里?
也许你的意思是:
self.url
答案 1 :(得分:1)
删除@url
尝试self.url.
或仅url.
,因为它是对象属性。