2012-09-21 72 views
0

我有一個模型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> 

我不明白爲什麼它不呈現表單錯誤。

+0

顯示控制器端的方法 – Salil

回答

0

你有你的菜單條目存儲在數組中,你正在動態地從這個數組渲染菜單項,對吧?

現在,您已經在數組中指定了一個菜單項,這個菜單項在routes.rb中沒有這樣定義。嘗試運行rake routes並檢查admin_client_path是否真的存在。

該錯誤與您的驗證無關。

+0

你是對的,我檢查我的代碼,這只是一個路徑錯誤與一個斷開的鏈接。 謝謝! – m7alleus