2016-07-25 65 views
0

在我的Rails應用中,我有一個帖子部分允許用戶提交內容。默認情況下,新帖子的URL約定將類似yoursite/posts/8。我想知道是否有人知道是否有可能爲用戶創建一個自定義URL路由的方法,如製作一個新的帖子,然後有一個字符串「自定義URL」,因此它變得像'yoursite/posttopic'.任何人都知道如何去做這件事?謝謝!Rails:郵件的自定義URL

郵政架構是這樣的:

create_table "posts", force: :cascade do |t| 
    t.string "title" 
    t.text  "body" 
    t.datetime "created_at",   null: false 
    t.datetime "updated_at",   null: false 
    t.integer "user_id" 
    t.string "image_file_name" 
    t.string "image_content_type" 
    t.integer "image_file_size" 
    t.datetime "image_updated_at" 
    end 
+0

您可能正在尋找[friendly_id(https://github.com/norman/friendly_id)寶石。 –

回答

1

使用friendly_id寶石。從Quick start guide更新例如:

# edit app/models/post.rb 
class Post < ActiveRecord::Base 
    extend FriendlyId 
    friendly_id :title, use: :slugged 
end 

Post.create! title: "posttopic" 

# Change Post.find to Post.friendly.find in your controller 
Post.friendly.find(params[:id]) 
rails server 

現在你可以使用這個:

GET http://localhost:3000/posts/posttopic 
+0

有什麼方法可以取出/ posts部分?並只是讓它/ 3000/customURL –

+0

當然,在你的'routes.rb'有這個:'資源:職位,路徑:'/''。 –

+0

嗨,friendly_Id正是我所需要的。謝謝! –