Reputation: 621
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.
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'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
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