Ruby on Rails
Thursday, July 23, 2015
Thanks for your answer,
-- The thing is, the mails being sent with the scheduled jobs are not in a Controller, they are in the UserMailer and they're easy to access via the
What I'd like to do, is having a similar thing with SMS. Maybe create a SMSController. The thing is I don't know how to access a method of a Controller from outside.
Le vendredi 24 juillet 2015 01:13:58 UTC+2, thiagocifani a écrit :
UserMailer.daily_mail(user).deliver_now
Le vendredi 24 juillet 2015 01:13:58 UTC+2, thiagocifani a écrit :
Hello Marco, as you can see, you can send email or sms in the same way. The only thing you can do to avoid repetition, you should move the sms logic to a service class and instantiate it in the controller and in a rake task to send it from time to time.I hope I helped you somehow.2015-07-23 19:35 GMT-03:00 Marco Dias <dias...@gmail.com>:--I want send an SMS each 5 minutes to my users. At the moment, my application sends an SMS during the creation of an account.# users_controller.rb
def create
@user = User.new(user_params)
if @user.save
@user.send_activation_email
@user.send_daily_sms
flash[:info] = "Veuillez contrôler votre boîte mail pour activer votre compte."
redirect_to root_url
else
render 'new'
end
end
# user.rb
def send_daily_sms
# put your own credentials here
account_sid = '**********************'
auth_token = '**********************'
# set up a client to talk to the Twilio REST API
@client = Twilio::REST::Client.new account_sid, auth_token
@client.account.messages.create({
:from => '**********',
:to => '***********',
:body => 'Salut',
})
endI already have scheduled mails working in my project by doing this :# schedule.rb
every :day, :at => '12pm' do
rake "email_sender_daily"
end
# My task
task :email_sender_daily => :environment do |_, args|
User.find_each do |user|
UserMailer.daily_mail(user).deliver_now if user.daily == true
end
end
# My UserMailer
def daily_mail(user)
@user = user
mail to: user.email, subject: "Mail journalier"
endI'm showing you this because, with the UserMailer, I know how to access it from an other file. Here, I'd like to do the exactly the same for SMS, but how can I access the method that is in my Model ? If not, where can I put this method to be able to access it from my rake task ?
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/6977da81-1fd7-47d6-a16d-36d63afedea7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--thiagocifani
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/7b0d4325-04b0-4e8e-a72d-3197623a87d9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment