INVITATION BETA EMAIL
I have in the email that the app send to friend's email address
INVITATION BETA EMAIL
I have in the email that the app send to friend's email address
the problem is here
def create @invitation = Invitation.new(params[:invitation]) respond_to do |format| if @invitation.save Mailer.invitation(@invitation, signup_url(:invitation_token=>@invitation.token)).deliver
format.html { redirect_to(@invitation, :notice => 'Invitation
was successfully created.') } format.xml { render :xml => @invitation, :status => :created, :location => @invitation }
redirect_to root_url else format.html { render :action => "new" } format.xml { render :xml => @invitation.errors, :status =>
:unprocessable_entity } end end
end
try it now
Radhames Brito wrote in post #987907:
@invitation = Invitation.new(params[:invitation])
respond_to do |format| if @invitation.save Mailer.invitation(@invitation, signup_url(*:invitation_token=>*@invitation.token)).deliver format.html { redirect_to(@invitation, :notice => 'Invitation was successfully created.') } format.xml { render :xml => @invitation, :status => :created, :location => @invitation } redirect_to root_url else format.html { render :action => "new" } format.xml { render :xml => @invitation.errors, :status => :unprocessable_entity } end end end
I simply substitute the follow line
Mailer.invitation(@invitation,signup_url(@invitation.token)).deliver
with this
Mailer.invitation(@invitation,signup_url(@invitation.token)).deliver
this is the result http://localhost:3000/signup?invitation_token=30220e3a8db1994bc7c672d55491991f8e2ebf1a
I wish this
http://localhost:3000/signup/30220e3a8db1994bc7c672d55491991f8e2ebf1a
I'm searching in other forum and documentation on line ... when I will find the solution will put there ...
bye,
C ps. I don't understand 'cause you put the '*' simbol
I simply substitute the follow line
Mailer.invitation(@invitation,signup_url(@invitation.token)).deliver
with this
Mailer.invitation(@invitation,signup_url(@invitation.token)).deliver
try this , go to the console and type rails c, then type this
r = ActionController::Routing::Routes
then
r.generate :controller => :invitations, :action => create , : invitation_token => “123”
see if it generates what you want , then use
Mailer.invitation(@invitation,url_for (:controller => :invitations, :action => create , : invitation_token => @invitation.token,:method => :post)).deliver
Radhames Brito wrote in post #988052:
try this , go to the console and type rails c, then type this
r = ActionController::Routing::Routes
then
r.generate :controller => :invitations, :action => create , : invitation_token => "123"
see if it generates what you want , then use
Mailer.invitation(@invitation,url_for (:controller => :invitations, :action => create , : invitation_token => @invitation.token,:method => :post)).deliver
Hey thank you ... for your answer the environment of rails c is Rails 3.0.1 and use your advices I receive only an error message after I insert your follow command:
r.generate :controller => :invitations, :action => create , : invitation_token => "123"
NameError: undefined local variable or method ´create' for main:Object from (irb): 2
Anyway I will use your previous suggest It's works to accept the invitation sign up but the signup url is like this:
http://localhost:3000/signup?invitation_token=3022…
thank you,
C
it appears that you are launching irb not rails console, to go to the rails console you have to type
rails c
at the app directory, then try mixing
r.generate :controller => :invitations, :action => create , :invitation_token => “123”
until you get what you want.
Radhames Brito wrote in post #988228:
rails c
at the app directory, then try mixing
r.generate :controller => :invitations, :action => create , :invitation_token => "123"
until you get what you want.
I tried same error
NameError: undefined local variable or method create' for main:Object from (irb): 2
I believed that the command "rails console" is the same "rails c" isn`t it?
Yes it is. but i thought you may have mistakenly used irb instead of rails c