Rails / Formtastic-未进行验证

|| 我正在使用formtastic来验证表单:
<%= semantic_form_for @user do |f| %>
  <ul class=\"formItem\">         
    <%= f.input :username, :required => true, :label => \"Your Username\", :input_html => { :class => \'double\' } %><br clear=\"all\" />
    <p class=\"fieldExplanation\">Your username is made public to other people on the site.</p>                       
  </ul> 
  <ul class=\"actions\">      
    <%= f.commit_button(\"Save my profile and make a match >\", :class => \"submitForm\") %>    
  </ul>
<% end %>
它在视觉上是可行的-表单以一点星号呈现,表明它理解:required => true-但是在页面发布时,它不会触发带有错误的验证;相反,它只是简单地转到下一页,就好像成功了一样。 我感觉好像缺少在某个地方打开验证的简单设置,或者我在控制器中做错了什么?
def update
 @user = User.find(params[:id])     
 respond_to do |format|
   if @user.update_attributes(params[:user])        
      format.html { redirect_to(match_user_path(@user), :notice => \'User was successfully updated.\') }              
   else
     format.html { render :action => \"edit\" }        
   end
 end
end
提前致谢。     
已邀请:
        您已在注释中显示的代码中省略了冒号。应该是2,这可以解释一些破损。 在验证方面,这是在模型中强制执行的。您需要类似:
validates :username, :presence => true
使服务器端的代码了解没有
username
的模型是无效的。在完成所有服务器端验证之后,如果要快速将其转换到表单中,请查看validation_reflections gem。您可以在ASCIIcasts上阅读有关它的信息。     
        Formtastic只是表单的表示形式,因此验证需要在模型的服务器端进行。 Formtastic将使用这些验证来推断输入是否应标记为必需。 DSL中的“ 5”选项实际上仅在少数情况下可以覆盖此选项,在这种情况下,您无法执行模型验证中所需的操作。     

要回复问题请先登录注册