送信を押してもビュー ページがリダイレクトされません。私が知る限り、私のサーバー出力はリダイレクトが発生したことを示しています。コントローラーのリダイレクトの場所を変更して、これを確認しました。
そして私の関連ファイル。
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
上記の create メソッドを見ると、Venue.create を Venue.build に変更しています。
これが私の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 %>
そして私のモデル
class Venue < ActiveRecord::Base
attr_accessible :description, :name, :address, :city, :state, :zip
has_many :events
end
そして、私のスキーマからの抜粋
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
サーバーを再起動し、Webrick から Thin に切り替えました。
要約すると、ログでは (少なくとも初心者の目には) すべてが正常に見えるのに、ブラウザでリダイレクトが発生しない理由を理解するのに困惑しています。
ありがとう