2016-12-14 81 views
0

我不確定如何使我的網址更整潔或更漂亮。可能一個好心勸我使URL看起來更整潔 - Rails 5

我現在有這個網址:

http://www.example.com/speed-meetings/dine%20with%20index%20venture%20capital 

,並希望它看起來像下面的網址:

http://www.example.com/speed-meetings/dine-with-index-venture-capital 

我的路線文件:

get 'speed-meetings/:title', controller: 'speed_meetings', action: 'show' 

views/events/index.html.erb

<td><%= link_to 'show', "/speed-meetings/#{event.title}" %></td> 

回答

3

您可以使用parameterize方法使它更漂亮。

<%= link_to 'show', "/speed-meetings/#{event.title.parameterize}" %> 

你也可以看看'friendly-id'寶石。與slu work一起工作很好。

https://gist.github.com/cdmwebs/1209732 - 這是關於友好網站的好帖子。

1

使用stringex寶石:

# Gemfile 
gem 'stringex' 

# A simple prelude 
"simple English".to_url => "simple-english" 
"it's nothing at all".to_url => "its-nothing-at-all" 
"rock & roll".to_url => "rock-and-roll" 

# parameterize will not fare well with these cases: 
"$12 worth of Ruby power".parameterize => "12-worth-of-ruby-power" # oops 
# Let's show off 
"$12 worth of Ruby power".to_url => "12-dollars-worth-of-ruby-power" 
"10% off if you act now".to_url => "10-percent-off-if-you-act-now" 

# You dont EVEN wanna rely on Iconv for this next part 
"kick it en Français".parameterize => "kick-it-en-franais" # oops 
"kick it en Français".to_url => "kick-it-en-francais" 
"rock it Español style".to_url => "rock-it-espanol-style" 
"tell your readers 你好".to_url => "tell-your-readers-ni-hao" 

class Thing < ApplicationRecord 
    acts_as_url :name 

    def to_param 
    url 
    end 
end 
相關問題