我有一个Clips Controller
,其中:
def set_clip
@clip = Clip.find(params[:id])
end
"我的剪辑"有一个:title
属性,用户可以在创建时设置该属性。
我正试图在URL中实现这一点,剪辑将显示为:
http://localhost:3000/clip/1/:title
另外,我需要让gsub参与进来,这样那些丑陋的%20就不会出现在每个Space 上
有人能告诉我这件事吗?
我正在搜索没有FriendlyID的解决方案
假设/1/是记录的ID,那么在url中添加:title是多余的。
实现相同结果的类似(且简单)方法是在模型上定义to_param
:
def to_param
"#{id}-{title}"
end
这会给你一个"clip/1-title"形式的url,这将与活动记录find(param[:id])
方法一起工作
另外,一个更安全的参数字符串是用参数化标题
"#{id}-{title.parameterize}"