Ruby on rails rails 3-如果表单字段为空,则改为使用此值
我的Rails 3应用程序中有一个名为Post的模型 用户可以为这些帖子创建自己的URL。(我称之为干净的url。) 如果用户没有填写此字段,我希望在保存表单时从标题中自己创建值。(基本上使用@post.title.to_s(某些注册表项用于删除空格等…) 如果此字段为空,则使用标题值保存项目的最佳方法是什么 我假设在Posts控制器创建操作中,我可以在保存后“更新帖子的属性”…但我开始认为这可能是错误的Ruby on rails rails 3-如果表单字段为空,则改为使用此值,ruby-on-rails,forms,Ruby On Rails,Forms,我的Rails 3应用程序中有一个名为Post的模型 用户可以为这些帖子创建自己的URL。(我称之为干净的url。) 如果用户没有填写此字段,我希望在保存表单时从标题中自己创建值。(基本上使用@post.title.to_s(某些注册表项用于删除空格等…) 如果此字段为空,则使用标题值保存项目的最佳方法是什么 我假设在Posts控制器创建操作中,我可以在保存后“更新帖子的属性”…但我开始认为这可能是错误的 有人对如何实现这一点有想法吗?在保存前使用回调,并在模型中使用私有方法。以下内容直接取自我
有人对如何实现这一点有想法吗?在保存前使用
回调,并在模型中使用私有方法。以下内容直接取自我的博客源代码
before_save :create_clean_url
private
def create_clean_url
if self.clean_url.blank?
# Remove non-alpha characters. Replace spaces with hyphens.
self.clean_url = self.title.downcase.gsub(/[^(a-z0-9)^\s]/, '').gsub(/\s/, '-')
end
end