ソース 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
これをインデックスビューで使用します
<a href="<%=item.url%>"><%=item.source %></a>
これで、item.url に問題なくアクセスできます。しかし item.source は例外をスローします:
nil:NilClass の未定義メソッド `split'
これは、ソース メソッドが url プロパティにアクセスしていないためだと思います。どうすればそれを行うことができますか?これがRubyでの動作方法であると想定しています。私は大失敗をしているかもしれません