我想根据调用邮件程序的操作(创建,更新)来更改邮件主题。这该怎么做? (例如,在创建过程中,主题是用户创建和更新,用户更新)
def create
@user = User.new(params[:user])
@user.save
Mailer.notify(@user).deliver
end
def update
@user = User.find(params[:id])
@user.update
Mailer.notify(@user).deliver
end
mailers.rb
def notify(user)
@user =user
mail(:to =>@use.mail :subject => "created")
end
答案 0 :(得分:1)
# controller
def create
@user = User.create(params[:user])
Mailer.notify(@user, 'created').deliver
end
def update
@user = User.find(params[:id])
@user.update
Mailer.notify(@user, 'updated').deliver
end
# mailers.rb
def notify(user, action_name)
@user = user
mail(:to => @user.mail, :subject => "User #{action_name}")
end
答案 1 :(得分:0)
您可以使用
获取调用方法的名称caller_locations(1)[0].label
示例:
def bar
caller_locations(1)[0].label
end
def foo
bar
end
foo # => "foo"