Ruby on rails Rails外部URL在视图中用作链接
在我的rails应用程序中,我添加了一个字符串,用户可以将链接添加到facebook个人资料中,这是一个简单的文本字段,但在视图中我希望他们有一个链接 例如,如果用户添加了www.facebook.com/example我希望它在视图中显示为链接,因为我尝试了Ruby on rails Rails外部URL在视图中用作链接,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,在我的rails应用程序中,我添加了一个字符串,用户可以将链接添加到facebook个人资料中,这是一个简单的文本字段,但在视图中我希望他们有一个链接 例如,如果用户添加了www.facebook.com/example我希望它在视图中显示为链接,因为我尝试了链接到方法,但不是指向用户配置文件的链接,而是刷新页面 这就是我试过的 如果表单正确地插入了数据,则可以为链接类定义帮助器类 #=> helpers/application_helper.rb def fb_link(user_fb)
链接到
方法,但不是指向用户配置文件的链接,而是刷新页面
这就是我试过的
如果表单正确地插入了数据,则可以为链接类定义帮助器类
#=> 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"
希望它有帮助试试
link\u to
方法的第一个参数将显示链接的值。在这种情况下,它是Facebook
。第二个参数是url\u路径
。当用户点击Facebook
链接时,它将进入url\u路径
。在这种情况下,它是@user.fblink除非它未保存为http
,否则它将不作为链接工作
例如,如果你想让Facebook链接正常工作,它应该以https://www.facebook.com/example
为此,您需要在表单输入字段中添加:
之后,在你的查看页面中,你可以像这样使用它
我的链接
不要在此处使用link\u to
或任何rails视图帮助程序,因为其完整链接已保存在数据库中
<script>
$( "#myform" ).validate({
rules: {
field: {
required: true,
url: true
}
},
message: {
field:{ required: 'fb link can't be blank!', url: 'Please enter valid url'}
}
});
</script>
$(“#myform”)。验证({
规则:{
字段:{
要求:正确,
网址:true
}
},
信息:{
字段:{必需:'fb链接不能为空!',url:'请输入有效url'}
}
});
这里没什么可讲的。.fblink
是如何定义的?我已经更新了code@lowerhey@fool,但问题是它链接到了http://localhost:3000/users/www.facebook.com/example
@NoorAliKhan我已经更新了我的答案,你可以照此操作了…你应该改名,伙计…你不是傻瓜,你是个天才…@NoorAliKhan it如果您将对url
使用客户端验证而不是下面讨论的服务器端验证,那么用户界面会更好。
= fb_link(@user.fblink)
= link_to "Facebook", "#{url_with_protocol(@user.fblink)}", class: "your-class", target: "new"
<script>
$( "#myform" ).validate({
rules: {
field: {
required: true,
url: true
}
},
message: {
field:{ required: 'fb link can't be blank!', url: 'Please enter valid url'}
}
});
</script>