1
不確定我在我的模型下面的代碼:範圍Rails中驗證
class Tweet < ActiveRecord::Base
validates_length_of :content, length: { maximum: 140 }
和下面的驗證在我的控制器:
def new
@tweet = Tweet.new
@maximum_length = Tweet.validators_on(:content).first.options[:maximum]
end
而且我在瀏覽器中得到以下錯誤消息。我不知道這有什麼問題!
範圍未指定。指定:in,:within,:maximum,:minimum或:is選項。
我的看法是:
<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>
你混合activemodel的的'validates_length_of':這是所有驗證的首選方法(查看Rails Validation Docs
使用
validates_length_of
就像你在你的代碼,它會作爲被寫入輔助活動記錄的'長度'助手。 – Pavan