Wie kann ich die Fehlermeldungen unterhalb des Formularfelds anzeigen, anstatt alle Meldungen oben auf der Seite anzuzeigen?RoR - Anzeige separater Fehlermeldungen für Formularfelder
Meine Rails-Version ist Rails 3.0.0
ich einen Tabellennamen Kategorie mit den Feldern ID, Titel und Beschreibung. Meine Modellklasse ist
class Category < ActiveRecord::Base
validates_uniqueness_of :title, :message => "Title already exist"
validates_presence_of :title, :description => "Cannot be blank"
end
-Controller
class CategoriesController < ApplicationController
def index
end
def new
end
def create
@category = Category.new(params[:category])
@category.created = Time.now
@category.modified = Time.now
respond_to do |format|
if @category.save
@category_last=Category.last
format.html { redirect_to :controller => 'categories', :action => 'show', :id => @category_last.id }
else
#format.html { redirect_to :controller => 'categories', :action => 'new' }
end
end
end
def show
end
def edit
end
end
und anzeigen
<div id="newCategory" class='page add'>
<div class='screenTitle'>New Category</div>
<div class='form_wrapper'>
<%= form_tag :action=>'create' %>
<div class='field_wrapper'>
<div class='field_label'>
Title
</div>
<div class='field_input'>
<%= text_area(:category, :description, :class=>'') %>
</div>
<div class='clearfix'> </div>
</div>
<div class='field_wrapper'>
<div class='field_label'>
Title
</div>
<div class='field_input'>
<%= text_field(:category, :title, :class=>'') %>
</div>
<div class='clearfix'> </div>
</div>
<div class='field_wrapper'>
<div class='field_submit'>
<%= submit_tag "Submit", :type => "submit", :class => "submit" %>
</div>
<div class='clearfix'> </div>
</div>
</form>
</div>
<div class='actions'>
<ul>
<li><%= link_to 'List Categoris', root_url+'categories' %></li>
</ul>
<div class='clearfix'> </div>
</div>
</div>
Als ich versuchte, '<% = form_for @category: action => 'create' do | f | %> 'Ich bekomme' RuntimeError in CategoriesController # Neu: Attribute können nicht leer sein' –
Sorry, ein kleiner Tippfehler von meiner Seite. Verpasste ein Komma. Es sollte natürlich <% = form_for @category,: action => 'create' do | f | sein %> Und jetzt, wo ich darüber nachdenke, brauchst du wahrscheinlich nicht einmal den Action-Hash. Probieren Sie <% = form_for @category do | f | %> – DanneManne
Ich habe diese Syntax bereits korrigiert, eigentlich ist das Problem nicht mit dem form_for -Tag, sondern mit der '@category = Category.new'-Anweisung in der neuen Methode im Controller, wenn ich diesen Zeilenfehler kommentiere, wird dieser Zeilenfehler nicht mehr angezeigt . Was ich falsch liege ..? –