I’ve created a new action in my invitations controller named
validate and validation
controller/invitations_controller.rb
def validate
end
def validation
@invitation = Invitation.find(params(:key))
if @invitation != nil
redirect_to new_client_path, :notice => ‘Codigo Aceptado’
else
flash.now[:alert] = ‘Ingrese un codigo valido’
render :action => ‘validate’
end
end
_validation_form.html.erb
<%= form_tag invitations_validate_path do %>
<%= label_tag :key %>
<%= text_field_tag :key %>
<%= submit_tag 'validate', :action => 'validation' %>
<% end %>
So when I enter a valid key I get redirected to create a user, but this
isn’t working. the submit isnt doing anything, the :action => validation
is not working
config/routes.rb
resources :invitations do
collection do
get :validate
get :validation
end
end
On Apr 17, 9:12pm, “Jose tomas R.” [email protected] wrote:
shouldn’t that be params[:key] ?
<%= form_tag invitations_validate_path do %>
isn’t working. the submit isnt doing anything, the :action => validation
is not working
It’s not supposed to. A form’s action is specified on the form element
itself, not on submit tags. You’ve written form_tag
invitations_validate_path, so the form gets sent to
invitations_validate_path (ie your valdiate action)
Fred
so you say that should be form_for params[:key]? that wont work neither
On Mon, Apr 18, 2011 at 6:01 PM, Tomas R. [email protected] wrote:
so you say that should be form_for params[:key]? that wont work neither
You only fixed part of the issue. Fred pointed out two things. The first
was
that you specified params[:key] incorrectly. The second, and more
important,
is that you put your :action in the wrong place. Remove the :action from
your submit tag and change your form_tag to go to
invitations_validation_path.
<%= form_tag invitations_validation_path do %>
<%= label_tag :key %>
<%= text_field_tag :key %>
<%= submit_tag 'validate' %>
<% end %>
B.