Ich arbeite an einer Webanwendung, mit der Benutzer Scavenger Jagden erstellen können. Das Problem ist, ich kann Rails anscheinend nicht davon überzeugen, neue Jagden zu retten. Hier ist mein Setup. Irgendeine Idee, was ich falsch mache?Kann nicht speichern neue Rails 3 ActiveRecord Modell
Modell:
class Hunt < ActiveRecord::Base
attr_accessible :name
validates :name, :presence => true,
:length => { :maximum => 50 } ,
:uniqueness => { :case_sensitive => false }
end
Controller:
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
Ansicht
<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 %>
Routen
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)))'
EDIT: Ich sollte erwähnen, dass wenn eine neue Jagd hinzugefügt wird, die App den Benutzer zu Index umleitet, aber es gibt keine Flash-Benachrichtigung über den Erfolg.
nicht diese Art Sah. Vielen Dank. Leider ist das nicht der Unruhestifter. Ich habe den Tippfehler behoben, habe aber immer noch das Problem. –
Ihre Controller-Klasse sollte Plural sein "HuntsController", können Sie die Protokolle überprüfen und sehen, ob Sie irgendwelche Fehler bekommen. –
Also ändere ich "HuntController" zu "HuntsController", aktualisierte die Routes-Dateien und startete den Server neu. Leider hat sich das Verhalten meiner App nicht geändert. Irgendwelche anderen Ideen zu was könnte das verursachen? –