当我阅读Django代码时,我经常在模型中看到所谓的"slug".我不太确定这是什么,但我知道它与URL有关.怎么以及什么时候应该使用这个slug-thing?
(我在本词汇表中已经阅读了它的定义.)
我正在使用CodeIgniter中的应用程序,我正在尝试在表单上创建一个字段来动态生成URL slug.我想要做的是删除标点符号,将其转换为小写,并用连字符替换空格.因此,例如,Shane的Rib Shack将成为shanes-rib-shack.
这是我到目前为止所拥有的.小写部分很简单,但替换似乎根本不起作用,我不知道删除标点符号:
$("#Restaurant_Name").keyup(function(){
var Text = $(this).val();
Text = Text.toLowerCase();
Text = Text.replace('/\s/g','-');
$("#Restaurant_Slug").val(Text);
});
Run Code Online (Sandbox Code Playgroud) 可能重复:
'slug'的词源是什么?
在CouchDB权威指南中,作者在文档中使用了关键的"slug".
{
"title": "Hello World",
"slug": "hello_world"
}
Run Code Online (Sandbox Code Playgroud)
"slug"是什么意思,为什么使用它?
我做了一些谷歌搜索,试图找出URL中使用的"slug"这个词的来源.但是我似乎无法找到任何相关信息.有谁知道这个词的来源?
我正在试图找出最好的方法,并且已经看到了很多建议,但是不能让任何事情正常工作,而宁愿先做最好的方法.
这是Controller上的ActionResult:
public ActionResult Details(string selectedArtist)
{
//other code
return View(selectedArtist)
}
Run Code Online (Sandbox Code Playgroud)
这是客户端上的javascript:
$('#results').on('click', '.item', function () {
var selectedArtist = $(this).data('artistInfo');
var selectedId = encodeURIComponent('ARE602H1187FB3B8F8')
var url = '@Url.Action("Details", "Artist", new { id = "__id__" })';
window.location.href = url.replace('__id__', selectedId);
})
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望将selectedArtist对象传递给控制器.它基本上是一个javascript类,匹配我的Artist模型.现在虽然作为一个测试我只是试图将一个Id作为一个字符串传递给控制器并且无法将其传递给它,但它总是以NULL形式出现.
它正在建造的要求对我来说非常好"...... /艺术家/细节/ ARE602H1187FB3B8F".但是,我正在调试,控制器上的参数总是为NULL.
我错过了什么吗?和/或有更好的方法吗?提前致谢.
对于给定的 URL,我想使用 Javascript 和正则表达式检索其 slug。我尝试了以下方法,但它只匹配h而不匹配This-is-the-slug-to-be-matched。
var url = "http://www.domain.com/region/town/This-is-the-slug-to-be-matched;art6066,1184999";
var slug = url.match(/[a-z0-9-]/);
Run Code Online (Sandbox Code Playgroud) javascript ×3
jquery ×2
regex ×2
slug ×2
asp.net-mvc ×1
couchdb ×1
database ×1
django ×1
python ×1
terminology ×1
url ×1