2016-09-17 89 views
1

我試圖使用FriendlyId寶石一樣,使我的自定義毛坯:Rails的Friendly_id:彈頭不產生正確

extend FriendlyId 
friendly_id :slug_candidates, :use => [:slugged, :finders] 

def slug_candidates 
    id = rand(100..200) 
    x = ... 
    y = ... 
    return "#{x}-#{y}-#{id}" 
end 

添加slug列前,當我.friendly_id測試它在rails console,是以xy-id的格式顯示正確的slu g。問題是,當我添加一個slug列並嘗試創建新實例時,最後一部分被保存(只有一個隨機數)作爲slug! slu There中沒有x和y的值。這裏有什麼問題,我該如何解決?

回答

0

可以嘗試做這樣的事情:

def slug_candidates 
    id = rand(100..200) 
    x = ... 
    y = ... 
    [ "#{x}-#{y}-#{id}" ] 
end 

def should_generate_new_friendly_id? 
    true 
end