2011-04-05 57 views
0

我必须使用单选按钮或复选框在数据库中进行更新。如果我选中复选框(或单选按钮),它会进行更新,但是当我不选择它时,什么都不会发生。 视图中的复选框部分:
我在轨道中的复选框和单选按钮有问题

Your curriculum is 
    "<%= form_for(:public, :url => {:action => 'public',:id=>@listCv.id}) do |f| %> 
     <%= f.check_box :public %> Public <br />  
     <%= submit_tag("Update") %> 
    <% end %>" 

而且更新控制器是这个:


def public 
     @cv=Cv.find(params[:id]) 
     if @cv.update_attributes(params[:public])

 redirect_to(:action=>'index') 
    else 
     #render :text=>@cv.id 
     render :text=>params[:privacidad] #just rendering to find why it does not make an update 
     #redirect_to(:action=>'index') 
    end 
end 

回答

0

监守你使用复选框我认为:public是一个布尔值。

试试这个:

def public 
     @cv=Cv.find(params[:id]) 
     public = params[:public] 
     public = false if public != true 
     if @cv.update_attributes(public) 


     redirect_to(:action=>'index') 
    else 
     #render :text=>@cv.id 
     render :text=>params[:privacidad] #just rendering to find why it does not make an update 
     #redirect_to(:action=>'index') 
    end 
end 
+0

感谢名单,我只是发现了问题。它确实与布尔值有关(问题在于我的模型,因为我验证了公开的存在,并且我发现它不能以这种方式使用) – Will 2011-04-05 20:52:14

+0

太好了。您能否请您将答案标记为正确,或者将答案投票。 – 2011-04-07 13:32:25