2012-03-17 25 views
1

我有多個社交網站的字段,用戶可以輸入他們的用戶名,並鏈接到他們的twitter,facebook,myspace賬戶等。我的問題是我怎麼能擁有它,所以當用戶輸入用戶名時,我可以鏈接到他們的用戶名帳戶。url的幫手方法?

這是我的,我知道這可能是不正確的。在我的個人資料的index.html

<%= link_to twitter_url %> 

輪廓helper方法

def twitter_url 
    return(self.url= "http://twitter.com/#{profile.twitter}/account") 
end 

在我的個人資料控制器

include ProfilesHelper 

在數據庫中的實際字段稱爲

twitter_link 

如何我明白了用戶名然後在我的部分,這將做其餘的鏈接到他們的twitter,facebook等帳戶頁面?

回答

4

該方法應該如何知道profile對象是不是你傳入的?

我想象你的控制器中定義了一個@profile變量。在視圖中,你會這樣:

<%= link_to twitter_url %> 

而在幫手,這一點:

def twitter_url 
    "http://twitter.com/#{@profile.twitter_link}/account" 
end 

這裏需要注意的是,你並不需要設置self.url或有明確的回報。這是因爲該方法會自動返回String,這是link_to需要的。

如果你想要這個方法是在一個幫手,在只是的可用你的ProfileController,那麼爲什麼不把它裏面ProfileHelper以便它只是由名字被相關自動納入?

+0

我得到了'未定義的方法對Twitter的零:NilClass' – coletrain 2012-03-17 15:59:02

+0

@coletrain,上述解決方案應該是工作,可以ü發佈完整的堆棧跟蹤定位錯誤 – sameera207 2012-03-17 17:23:49

+0

我已經添加了完整的跟蹤上述代碼 – coletrain 2012-03-17 18:56:48