所以我的简单问题是,如果特定列在数据库中使用基于以下控制器的表单更新,我想调用邮件程序。但是我不知道如何使用列名...我在if @style.category
之后做if @style.save
但是没有工作。
控制器
def new
@style = Style.new
@users = User.where('username <> ?', current_user.username)
respond_to do |format|
format.html # new.html.erb
format.json { render json: @style }
end
end
def create
@style = Style.new(params[:style])
@style.sender = current_user
respond_to do |format|
if @style.save,
### want to call mailer here , based on if column "category" is updated or not
if @style.receiver
format.html { redirect_to user_path(@style.receiver.username), notice: "successs!"}
else
format.html { redirect_to root_path, notice: 'Success!' }
end
答案 0 :(得分:0)
在模型中添加一个after_save回调可以帮助
class Style < ActiveRecord::Base
after_save :send_email
def send_email
if changed_attributes.has_key?('category')
call the mailer here
end
end
end