网址的助手方法?

时间:2012-03-17 15:33:54

标签: ruby-on-rails ruby ruby-on-rails-3

我有社交网站的多个字段,用户可以输入他们的用户名,它会链接到他们的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等帐户页面上显示其余链接?

1 个答案:

答案 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内,以便它自动包含在内名字相关?