Hi Group,
I have just read and attempted to implement Luke R.'s example:
http://www.lukeredpath.co.uk/2007/8/29/sending-sms-messages-from-your-rails-application
Unfortunately, I can’t get it to work.
I signed up for a Clickatell Account.
I installed the Clickatell GEM.
The following paragraphs describe my app.
controllers/sms.rb:
require ‘clickatell’
class SMS
def initialize(config)
@config = config
end
def create(recipient, message_text)
api.send_message(recipient, message_text)
end
private
def api
@api ||= Clickatell::API.authenticate(
@config[:api_key],
@config[:username],
@config[:password])
end
end
config/clickatell.yml:
api_key: 9999999
username: abcdefg
password: hijklmno
config/environments/development.rb
CLICKATELL_CONFIG = YAML.load(File.open(File.join(RAILS_ROOT,
‘config’, ‘clickatell.yml’)))
config/routes.rb:
ActionController::Routing::Routes.draw do |map|
map.resource :sms
end
app/views/sms/new.html.erb:
<% form_tag ‘/sms’, :method => :post do -%>
Enter the recipients mobile number:
<%= text_field_tag “recipient” %>
Enter your message:
<%= text_area_tag “message_text” %>
<%= submit_tag “Send SMS” %>
<% end %>
controllers/sms_controller.rb:
class SmsController < ApplicationController
def create
sms = SMS.new(CLICKATELL_CONFIG)
sms.create(params[:recipient], params[:message_text])
flash[:notice] = “Message sent succesfully!”
redirect_to :back
rescue Clickatell::API::Error => e
flash[:error] = “Clickatell API error: #{e.message}”
redirect_to :back
end
end
Hopefully, just like its described in the article.
I run the app and browse to: http://localhost:3000/sms/new
I enter the mobile no.: 447899999999 (I’m in the UK).
I enter the Message and click ‘Send SMS’.
The app executes without an error, but no SMS is sent. My Clickatell
credits are not decremented.
Any ideas on where I’m going wrong? Has anyone managed to get this to
work using the Clickatell GEM?
Thanks in advance.
Any help would be greatly appreciated.
Kind Regards
Walter