如何更改视图中显示值的方式?

时间:2012-05-14 23:45:39

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

在我的应用程序中,我将网站保存到名为website的字段,您可以将值www.website.com或使用http://www.website.com。我不确定如何让http://www.website.com在视图中始终显示为www.website.com

如果我的模型是Store且其表格列为t.string :website。我将什么放入StoreHelper并查看?是否可以更改这样的字符串?

2 个答案:

答案 0 :(得分:1)

你可以帮忙做一些事情:

def website_pretty_display(url)
  # strip out the http, etc
  new_url
end

然后在视图中,你可以这样做:

link_to website_pretty_display(store.website), store.website

答案 1 :(得分:1)

您可以使用正则表达式来删除http://部分:

@store.website.downcase.sub(/https?:\/\//, '')

就个人而言,我不会在帮助器中执行此操作,而是在我的模型中添加一个方法:

class Store < ActiveRecord::Base
  def website_without_http
    self.website.downcase.sub(/https?:\/\//, '')
  end
end

你可以这样做:

<%= link_to @store.website_without_http, @store.website %>