sirramongabriel
sirramongabriel

Reputation: 621

Form view doesn't redirect in browser after submit button is selected

My view page doesn't redirect when I hit submit. As far as I can tell, my server output is saying the redirect happened. I confirmed this by changing the redirect location in my controller.

Here's my server log of the cycle

And my associated files.

class VenuesController < ApplicationController
  def index
    @venues = Venue.all
  end

  def new 
    @venue = Venue.new
  end

  def create
    @venue = Venue.create(params[:venue])
    if @venue.save
      redirect_to 'index' 
    else
      render 'new' 
    end
  end

  def show
    @venue = Venue.find(params[:id])
  end

  def edit
    @venue = Venue.find(params[:id])
  end

  def update
    @venue = Venue.find(params[:id])
    if @venue.update_attributes(params[:venue])
      flash[:success] = "Your venue has been updated"
      redirect_to 'show'
    else
      render 'edit', flash[:error] = "Unable to update venue"
    end
  end

  def destroy
    @venue = Venue.find(params[:id])
    @venue.destroy
    redirect_to venues_path
  end
end

If you look at the create method above, I changed Venue.create to Venue.build.

Here are my logs for that attempt:

Here's my simple_form

<%= simple_form_for @venue, html: { class: 'form-horizontal' } do |f| %>
    <%= f.input :name, required: true %>
    <%= f.input :address, required: true %>
    <%= f.input :city, required: true %>
    <%= f.input :state, required: true %>
    <%= f.input :zip, required: true %>
    <%= f.input :description, label: "Provide a brief description of venue" %> 
    <%= f.button :submit %>
<% end %>

And my model

class Venue < ActiveRecord::Base
  attr_accessible :description, :name, :address, :city, :state, :zip

  has_many :events
end

And an excerpt from my scheema

 create_table "venues", :force => true do |t|
    t.text     "description"
    t.datetime "created_at",  :null => false
    t.datetime "updated_at",  :null => false
    t.string   "name"
    t.text     "address"
    t.string   "city"
    t.string   "state"
    t.string   "zip"
  end

I have both restarted my server and switched from Webrick to thin.

To recap, I'm stumped as to understanding why everything looks (at least to my rookie eyes) fine in my logs, and yet theres no redirects happeinging in my browser.

Thanks

Upvotes: 0

Views: 120

Answers (1)

Andrew Kuklewicz
Andrew Kuklewicz

Reputation: 10701

instead of

redirect_to 'index'

try

redirect_to action: 'index'

For reference:

http://api.rubyonrails.org/classes/ActionController/Redirecting.html#method-i-redirect_to

Upvotes: 1

Related Questions