我有社交网站的多个字段,用户可以输入他们的用户名,它会链接到他们的Twitter,facebook,myspace帐户等。我的问题是我如何才能拥有它,所以当用户输入他们的用户名时我可以链接到他们的帐户。
这是我所拥有的,我知道这可能不正确。在我的个人资料index.html
<%= link_to twitter_url %>
个人资料帮助方法
def twitter_url
return(self.url= "http://twitter.com/#{profile.twitter}/account")
end
在我的个人资料控制器中
include ProfilesHelper
数据库中的实际字段称为
twitter_link
我如何才能获得用户名,然后我会在其Twitter,facebook等帐户页面上显示其余链接?
答案 0 :(得分: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
内,以便它自动包含在内名字相关?