在我的rails应用程序中,我添加了一个字符串,用户可以将链接添加到facebook个人资料中,这是一个简单的文本字段,但在视图中,我希望他们有一个链接。
例如,如果用户添加了www.facebook.com/example,我希望它显示为视图中的链接,因为我已经尝试了link_to方法,但它只是刷新页面,而不是指向用户配置文件的链接。
这就是我试过的

<%= link_to(@user.fblink) %>

迁移
class AddFblinkToUsers < ActiveRecord::Migration
  def change
    add_column :users, :fblink, :string
  end
end

用户控制器婴儿车
def user_params
  params.require(:user).permit(:description, :avatar, :location, :fblink, :twlink, :ytlink, :username)
end

最佳答案

如果表单正确地插入了数据,那么您可以为如下链接定义一个helper类

#=> helpers/application_helper.rb
def fb_link(user_fb)
    link_to "Facebook", "#{url_with_protocol(user_fb)}", class: "your-class", target: "new"
end
#=> url helper
def url_with_protocol(url)
    /^http/.match(url) ? url : "http://#{url}"
end

然后从视图
= fb_link(@user.fblink)

或者你可以这样工作
= link_to "Facebook", "#{url_with_protocol(@user.fblink)}", class: "your-class", target: "new"

希望有帮助

10-04 21:42