So zeigen Sie Fehlermeldung auf Schienen Aussicht?
Ich bin Neuling in rails
und anwenden möchten, die Validierung auf form
Felder.
myviewsnew.html-Code.erb
<%= form_for :simulation, url: simulations_path do |f| %>
<div class="form-group">
<%= f.label :Row %>
<div class="row">
<div class="col-sm-2">
<%= f.text_field :row, class: 'form-control' %>
</div>
</div>
</div>
.....
Simulation.rb
class Simulation < ActiveRecord::Base
belongs_to :user
validates :row, :inclusion => { :in => 1..25, :message => 'The row must be between 1 and 25' }
end
simulation_controller.rb
class SimulationsController < ApplicationController
def index
@simulations = Simulation.all
end
def new
end
def create
@simulation = Simulation.new(simulation_params)
@simulation.save
redirect_to @simulation
end
private
def simulation_params
params.require(:simulation).permit(:row)
end
Möchte ich überprüfen Sie den integer-Bereich von row
Feld in der Modell-Klasse und wieder die Fehlermeldung wenn es nicht auf die Reihe. Ich kann überprüfen Sie die Auswahl aus obigen code aber nicht in der Lage, um die Fehlermeldung zurückzugeben, die
Vielen Dank im Voraus
apidock.com/rails/ActiveModel/Validations/HelperMethods/... ...Fertig.
Ich Tue die gleiche Sache. Ich will zeigen, wird die Fehlermeldung in form
Ich Tue die gleiche Sache. Ich will zeigen, wird die Fehlermeldung in form
InformationsquelleAutor Amit Pal | 2015-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Schlüssel ist, dass Sie ein Modell form, eine form, zeigt die Eigenschaften für eine Instanz eines ActiveRecord-Modell. Die create-action des Controllers wird, kümmern sich einige der Validierung (und Sie können fügen Sie weitere Validierung).
Controller neu gerendert
new
Ansicht, wenn Modell nicht sparenÄndern Sie Ihren controller wie unten:
Wenn die model-Instanz schlägt fehl, um zu speichern (
@simulation.save
zurückfalse
), dann dienew
view neu gerendert.new
Ansicht zeigt Fehlermeldungen aus dem Modell, dass Fehler beim speichernDann in Ihrem
new
anzeigen, wenn es ein Fehler ist, können Sie drucken Sie alle wie unten.Ist der wichtige Teil hier ist, dass Sie überprüft haben, ob die model-Instanz einen Fehler hat und dann drucken Sie Sie aus:
undefined method
Fehler' nil:NilClass " auf<% if @simulation.errors.any? %>
weil es nicht in der Lage zu finden, die@simulation
Parameterbearbeitet meine Antwort
redirect_to @simulation
was versuchen Sie zu tun?Noch immer die gleichen Fehler
ja habe vergessen zu verweisen. siehe den edit.
Hier ist mein screenshot nach der Bearbeitung der views und controller dl.dropboxusercontent.com/u/20476478/... auf localhost:3000/Simulationen/new
InformationsquelleAutor Burak
Tun -
<% if f.object.errors.each do |message| %>
Versucht zu Bearbeiten aber es ist weniger als 6 Zeichen also ich würde es nicht lass es mich tun.InformationsquelleAutor Amit Suroliya
Müssen Sie nur fügen Sie diesen code in der view-Datei (
myviewsnew.html.erb
):Überprüfen Sie die vollständige syntax der
error_messages_for
im http://apidock.com/rails/ActionView/Helpers/ActiveRecordHelper/error_messages_forInformationsquelleAutor Emilio González Montaña