【发布时间】:2017-01-29 10:00:35
【问题描述】:
我在 URL 中有记录的 ID 和名称。
def to_param
"#{id} #{name}".parameterize
end
但是任何名称都可以在 URL 中使用。我可以执行以下操作,并且有效
www.site.com/records/ID-anything-here-works
如何将ID-anything 重定向到ID-name?
这是一个例子。
假设我有一个“产品”模型和一个名称为“shoe”且 ID 为“6”的记录。
网址是这样的
products/6-shoe
但是这个网址也可以使用
products/6-eiufwojfeowjfowef
如何使第二个 URL 重定向到第一个?
我正在处理表演动作:
def show
@website = Website.find(params[:id])
end
【问题讨论】:
-
我不明白你的问题。你能改写一下吗?
-
好的,我想我明白你的意思:你希望他们只输入数据库中当前可用的名称?
-
记录名称和记录ID在数据库中。我希望 ID 和名称出现在 URL 中,并且我目前正在使用它。但是记录似乎只能通过 ID 检索,我可以在 URL 中输入任何我想要的名称并显示记录。我希望它重定向到 ID-name。
-
您是否在模型中使用 to_param 覆盖?
-
我不知道你所说的“覆盖”是什么意思——也许我有,也许我没有,我不确定。但在问题中,我展示了我的模型中的 def_param sn-p。
标签: ruby-on-rails ruby-on-rails-5