如何在Rails中使用参数化?

rai*_*ver 6 ruby-on-rails

我想将页面标题转换为友好URL,并将其作为永久链接存储在数据库中.我的问题是我无法使用该parameterize方法.它不起作用.其他的拐点正在像upcase或者downcase,但parameterize不工作.有特殊情况parameterize吗?

这是我的代码:

控制器:

def create
 params[:page][:permalink] = params[:page][:title].dup
 @page = Page.new(params[:page])
end
Run Code Online (Sandbox Code Playgroud)

模型:

class Page < ActiveRecord::Base
 before_save :makeitpermalink
 before_update :makeitpermalink

 private
  def makeitpermalink
    permalink.parameterize!
  end
end
Run Code Online (Sandbox Code Playgroud)

Joh*_*ley 9

根据Rails的文档,该方法没有爆炸(感叹号)版本parameterize,因此请尝试删除它:

def make_it_permalink
  self.permalink = self.permalink.parameterize
end
Run Code Online (Sandbox Code Playgroud)