Я пытаюсь получить мои URLs выглядеть следующим образом:Вопрос URL дружественных связей
example.com/posts/id_of_post/title_of_post
У меня есть это в мой контроллер:
match ':controller/:id/:link', :controller => 'posts', :action => 'show'
Скажем, у меня есть список сообщений .. как я могу ссылаться на них?
<%= link_to 'Show', post %>
Просто дает обычной/сообщений/ID
На другой ноте, на минуту я делаю URL-дружественные связи, когда создается запись и хранение в базе данных. Было бы лучше создать «на лету»? Это возможно/лучше?
Я видел это в ответ на другой вопрос:
def to_param
normalized_name = title.gsub(' ', '-').gsub(/[^a-zA-Z0-9\_\-\.]/, '')
"#{self.id}-#{normalized_name}"
end
Это будет работать, если я мог бы изменить - к /. Возможное?
Есть в любом случае сделать это с «/» вместо «-» между Ид и постоянную ссылку? '% 2f% отображает'/'при опрокидывании, но когда вы нажимаете его, изменяется на% 2f и не работает. В Firefox все равно .. –
Нет, не используя to_params. То, что вы захотите, это match ': controller /: id /: link',: controller => 'posts',: action => 'show',: as =>: post_link ...... <% = link_to 'Show', post_link_path (@post,: link => @ post.permaname "%> –
Есть ли способ определить длину с параметризацией? –