如何验证数组的大小

时间:2012-09-21 08:23:39

标签: ruby-on-rails forms

我有一个包含数组字段的模型Client。 在client.rb模型中,我尝试过这样的事情:

field :menu_top
...
validates_length_of :menu_top, :maximum => 4

它似乎有效,但如果我在表格中放入超过4个项目,它就会发送给我=>

undefined method `admin_client_path' for #<#<Class:0x007fbc80a63cb0>:0x007fbc80b566b8>
Extracted source (around line #1):

1: <%= form_for [:admin, @client], :url => @post_form_path, :html => { :multipart => true } do |f| %>
2: <% if @client.errors.any? %>
3: <div class="alert-message block-message error">
4: <h2 class="dark-red"><%= pluralize(@client.errors.count, t(:error)) %> <%= t(:client_error) %>:</h2>

我不明白为什么它不会呈现表单错误。

1 个答案:

答案 0 :(得分:0)

您的菜单条目存储在数组中,并且您正在动态地从这个数组中呈现菜单条目,对吗?

现在,您已在数组中指定了一个菜单条目,该条目未在routes.rb中定义。尝试运行rake routes并检查admin_client_path是否真的存在。

该错误与您的验证无关。