抱歉,我是编程新手。
我只知道friendly_id gem可以让url显示字符串而不是主键id。我遵循了一些步骤,但它没有工作(就像以前一样)。
#app/models/restaurant.rb
class Restaurant < ActiveRecord::Base
extend FriendlyId
friendly_id :restaurant_name
end
#app/controllers/restaurant_controller.rb
class RestaurantController < ApplicationController
def page
@restaurant = Restaurant.friendly.find(params[:id])
end
end
#db/migrate/20140911011947_create_restaurants.rb
class CreateRestaurants < ActiveRecord::Migration
def change
create_table :restaurants do |t|
t.string :restaurant_name
end
end
end
我有搜索页面&#39;有很多选择来搜索足够的餐馆(localhost:3000 /餐厅/搜索),所以当我提出一些选择时,然后发布&#39; post&#39;似乎有像#34; localhost:3000 / restaurant / posts?utf8 =%E2%9C%93&amp; addr =&amp; search_result%5Bcategory_id%5D = 1&amp; search_result%5Bsubcategory_id%5D = 1&amp; name =& #34;(当我没有在我的搜索选项中添加任何单词时)。然后我选择其中一个页面(麦当劳),它就像以前的东西一样:&#34; localhost:3000 / restaurant / page / 1 &#34;不像我打算做的那个&#34; localhost:3000 / restaurant / page / 麦当劳&#34;。但它像以前一样完美,对我这样的新手看起来很奇怪。
当然,它不是我项目中的完整代码,而是这个friendly_id gem的主要(?)部分(我无法找到如何将代码粘贴到此stackoverflow ....我必须输入上面的所有代码..)所以我可以假设一些其他代码可能会中断这个friendly_id宝石。我不知道什么是潜在的问题。你能帮我吗?我看到了类似添加私人&#39;在控制器,但我无法理解它是如何工作的,这是私人的&#39;只是阻止了网页的工作。
任何小评论对我都有很大的帮助。谢谢。
#config/routes.rb
get "restaurant/posts"