Ich habe den folgenden Code in meinem Modell:Bereich nicht spezifiziert in Rails Validierung
class Tweet < ActiveRecord::Base
validates_length_of :content, length: { maximum: 140 }
und die folgende Validierung in meinem Controller:
def new
@tweet = Tweet.new
@maximum_length = Tweet.validators_on(:content).first.options[:maximum]
end
Und ich bekomme die folgende Fehlermeldung in meinem Browser. Ich habe keine Ahnung, was damit nicht stimmt!
Bereich nicht angegeben. Geben Sie die Option: in,: innerhalb,: maximum,: minimum oder: is an.
Meine Ansicht ist:
<div class="form-group">
<%= form_for @tweet do |f| %>
chars left: <span id="counter" data-maximum-length = "<%[email protected]_length%>"<%= @maximum_length%></span>
<%= f.text_field :content, maxlength: @maximum_length, id: 'content' %>
<button type="submit" class="btn btn-primary">Submit</button>
<%end%>
<script>
$(document).ready(function(){
var content = $("#content");
var counter = $("#counter");
var max_length = counter.data("maximum_length");
content.keyup(function(){
counter.text(max_lnegth - $(this).val().length);
});
});
</script>
Du activemodel des 'validates_length_of' Misch Helfer mit 'Länge' Helfer des aktiven Eintrags. – Pavan