我试图保存一个模型movie.But的形式,我有两个单选按钮,当你点击他们每个将显示额外的隐藏领域(我隐藏这些领域最初).User is suppossed只能选择一个单选按钮来点击并填写额外的给定字段(制作人或导演字段)。此模型中的所有字段为validated_presence_of
。问题是当您单击一个单选按钮并填写给定的文本字段时,这意味着另一个字段隐藏在另一个单选按钮,将显示为空白,因此形式不会得到提交(因为validated_presence_of
)。如何做我解决此去?谢谢如何从有条件地跳过验证字段中的验证?
<%= form_for @movie ,:url=>{:action =>"create"} do |f|%>
<%= f.error_messages %>
<%=f.text_field :title%>
<%= f.text_field :description%>
<%= f.radio_button :drama "drama" %>
<div style="display:none"><%= f.text_field :director %></div>#this is displayed with javscript when you click radio button
<%= f.radio_button :action "action" %>
<div style="display:none"><%= f.text_field :producer %></div> #this is displayed with javscript when you click radio button
<%= f.submit "post"%>
型号
class Movie < ActiveRecord::Base
validates_presence_of :title
validates_presence_of :description
validates_presence_of :director
validates_presence_of :producer
end
架构
create_table "movies", :force => true do |t|
t.string "title"
t.text "description"
t.boolean "drama",
t.boolean "action"
end
在我的情况下,你如何做至少一个?我不知道如何在这种情况下使用'if' – katie
非常感谢你 – katie
是否可以执行'validates_presence_of:director,:if =>“producer.blank?” AND“title.blank?”' – katie