Как заменить «» и «_» на «-» в моем контроллере при создании нового сообщения?rails gsub question
У меня есть следующие поля формы: названия URL содержания
Я хочу, чтобы выполнить GSUB на поле URL.
Спасибо ...
Как заменить «» и «_» на «-» в моем контроллере при создании нового сообщения?rails gsub question
У меня есть следующие поля формы: названия URL содержания
Я хочу, чтобы выполнить GSUB на поле URL.
Спасибо ...
Если вы пытаетесь тихоход название, то вы можете найти friendly_id Нормана некоторого использования:
http://github.com/norman/friendly_id
Он будет заботиться о создании пермалинки для вас, так что вам не придется беспокоиться о duplica или генерации URL-адреса в вашем приложении. Он также будет интегрирован с ActiveRecord, чтобы переопределить методы поиска.
title.gsub (»», "-"). GSUB ("_", "-")
Помните, что избавления от пространства и «_» от URL-адреса недостаточно, так как есть некоторые другие символы, которые разбивают ваш код HTML и даже вызывают инъекцию скрипта. <>'"/\
.
Предлагаю передать все буквы и цифры - все остальное перевести на -
.
class Post < ActiveRecord::Base
attr_protected :url
validates_presence_of :title
before_create :generate_url
private
def generate_url
self.url = title.strip.downcase.gsub(/[^a-z0-9]+/,'-')
end
end
Контроллер не изменился.
благодарит за информацию! – andkjaer
Matt спасибо, я получил его работу, и это было именно то, что я искал! – andkjaer