0

当我点击提交时,我的视图页面没有重定向。据我所知,我的服务器输出说重定向发生了。我通过更改控制器中的重定向位置确认了这一点。

这是我的循环服务器日志

还有我的相关文件。

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 切换到瘦。

回顾一下,我很难理解为什么在我的日志中一切看起来(至少在我的菜鸟眼中)都很好,但在我的浏览器中却没有发生重定向。

谢谢

4

1 回答 1

1

代替

redirect_to 'index'

尝试

redirect_to action: 'index'

以供参考:

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

于 2013-10-03T19:55:37.123 回答