我正在创建一个应用程序,我只想使用我所有应用程序的路线都应该通过seo网址使用slug访问。我在我的数据库表中创建了一个slug字段。这是我的迁移文件中的代码如何使用slug导轨为所有视图创建seo网址
class AddSlugToClients < ActiveRecord::Migration
def change
add_column :clients, :slug, :string
end
end
我加入这个代码到我的控制器的显示方法 我控制器的代码是:
def show
@client = Client.find_by_slug(params[:id])
end
在我的应用程序的模型,我已经加入此代码
class Client < ActiveRecord::Base
def slug
ename.downcase.gsub(" ", "-")
end
validates_presence_of :slug
def to_param
slug
end
end
现在,当我创建一个新的客户端比客户端由完美的slu created创建。但是当我点击链接显示在列表网页,客户端然后让在网址的错误,它看起来像
clients/%23<Client::ActiveRecord_Relation:0xb59828d4>
现在请大家帮我,而从索引视图中单击创建显示页面的SEO链接。当前查看代码:
<% @client.each do |client| %>
<tr>
<td><%= client.ename %></td>
<td><%= link_to 'Show', client_path(@client) %></td>
<td><%= link_to 'Edit', edit_client_path(@client) %></td>
</tr>
<% end %>
试试这个宝石https://github.com/norman/friendly_id – Saqib
你有没有想法做到这一点,没有任何宝石。 –
请张贴您的索引页面代码。 –