Не удается сохранить новую модель RailR 3 ActiveRecord - PullRequest
0 голосов
/ 25 марта 2012

Я работаю над веб-приложением, которое позволяет пользователям создавать поиск мусора. Проблема в том, что я не могу убедить Rails спасти новые охоты. Вот мои настройки. Есть идеи, что я делаю не так?

Модель:

class Hunt < ActiveRecord::Base
  attr_accessible :name

  validates :name,  :presence => true,
                    :length   => { :maximum => 50 } ,
                    :uniqueness => { :case_sensitive => false }
end

Контроллер:

class HuntController < ApplicationController

  def index
     @title = "All Hunts"
     @hunts = Hunt.order("name ASC")     
  end

  def show
    @hunt = Hunt.find(params[:id])
    @title = @hunt.name    
  end

  def new
    @hunt = Hunt.new
    @title = "New Hunt"  
  end

  def create
    @hunt = Hunt.new(params[:hunt]) #fixed type (used to be this: Hunt.new(params[:id]) )
    if @hunt.save
      flash[:success] = "Hunt created!"
      redirect_to index
    else
      @title = "New Hunt"
      render 'new'

    end

    ...

end

View

    <h1>Sign up</h1>

    <%= form_for(@hunt) do |f| %>

        <div class="field">
         <%= f.label :name %><br />
         <%= f.text_field :name %>
        </div>

      <div class="actions">
        <%= f.submit "Sign up" %>
      </div>
    <% end %>

Маршруты

MyChi::Application.routes.draw do


  get "hunts/index"
  get "hunts/new"
  get "hunts/create"  
  get "hunts/show"
  get "hunts/list"  
  get "hunts/edit"
  get "hunts/delete"

  match '/hunts', :to => 'hunts#index'

  resource :hunts

  .....

  root :to => "pages#home"

  match ':controller(/:action(/:id(.:format)))'

РЕДАКТИРОВАТЬ: я должен отметить, что при добавлении новой охоты приложение перенаправляет пользователя в индекс, но нет мгновенного уведомления об успехе.

1 Ответ

2 голосов
/ 25 марта 2012

В вашем действии создания измените Hunt.new (params [: id]) на Hunt.new (params [: hunt])

...