友好网址对friendly_id没有任何影响

时间:2016-03-15 06:53:20

标签: ruby-on-rails friendly-id

我使用diameter=getDiam();但对我的身份没有任何影响。

这是我的工作:

模型:

gem 'friendly_id', '~> 5.1.0'

控制器:

extend FriendlyId
friendly_id :company_name, use: :slugged

查看:

@company = Company.friendly_id.find(params[:company_id])

路线

<%= company_path(:company_id => c.company_id) %>

我的问题在哪里?

我也使用slug进入数据库表

1 个答案:

答案 0 :(得分:0)

好像您正在为现有模型添加友好ID。这就是为什么之前保存的值不会在网址中显示friendly_id

如果是这种情况,则需要在控制台上运行以下命令。

Company.find_each(&:save)

这将为所有现有记录生成friendly_id。对于未来的记录,gem将按预期工作。

您还有另一个问题,因为您没有遇到此问题。 您在路由中传递id,而不是公司对象。这就是friendly id为你创建网址时没有获得任何slug的原因。

在您看来,我假设@company是您要访问的公司的对象。现在在您的视图中更改网址,如下所示。

<%= company_path(@company) %>

这对你有用。