读书人

应用模型的回调

发布时间: 2012-10-31 14:37:32 作者: rapoo

使用模型的回调

使用模型的回调可以避免在控制器中的CRUD方法中写一些逻辑代码。

?

丑陋的

?

class Post < ActiveRecord::Base  attr_accessor :auto_tagging  before_save :generate_tagging  private  def generate_taggings    return unless auto_tagging == '1'    self.tags = Asia.generate_tags(self.content)  endend<% form_for @post do |f| %>  <%= f.text_field :content %>  <%= f.check_box :auto_tagging %><% end %>class PostsController < ApplicationController  def create    @post = Post.new(params[:post])    @post.save  endend

?

和你看到的一样,我们在Post模型中创建了一个before_save回调方法来生成标签并赋值(如果用户点击了auto_tagging这个复选框),这样在控制器中就不必关心模型的逻辑了。

读书人网 >编程

热点推荐