大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rails:使用与验证中的模型无关的表单域,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这里是模型的一部分(整个模型已经变大了):
class Scorecard < ActiveRecord::Base belongs_to :course belongs_to :user validate :attributes_consistency def attributes_consistency # Executed for all scorecards. checks if the user completed the hole attributes correctly if ( params[:no_fairways] and any_fairways? and !only_nine? ) or ( params[:no_fairways] and !any_h1_to_h9_score_blank and any_h1_to_h9_fairway? and only_nine? ) or ( params[:no_fairways] and !any_h10_to_h18_score_blank and any_h10_to_h18_fairway? and only_nine? ) errors.add_to_base("You iniDicated that you missed all the fairways,but you also marked one or more fairways in the scorecard. Either uncheck the fairways mistakenly marked or uncheck the 'No fairways' checkbox.") end if ( params[:no_girs] and any_girs? and !only_nine? ) or ( params[:no_girs] and !any_h1_to_h9_score_blank and any_h1_to_h9_gir? and only_nine? ) or ( params[:no_girs] and !any_h10_to_h18_score_blank and any_h10_to_h18_gir? and only_nine? ) errors.add_to_base("You iniDicated that you missed all the greens,but you also marked one or more greens in the scorecard. Either uncheck the marked greens on the scorecard or uncheck the 'No GIRs' checkbox.") end end # attributes_consistency def any_h1_to_h9_score_blank? h1_score.blank? or h2_score.blank? or h3_score.blank? or h4_score.blank? or h5_score.blank? or h6_score.blank? or h7_score.blank? or h8_score.blank? or h9_score.blank? end def any_h10_to_h18_score_blank? h10_score.blank? or h11_score.blank? or h12_score.blank? or h13_score.blank? or h14_score.blank? or h15_score.blank? or h16_score.blank? or h17_score.blank? or h18_score.blank? end def any_h1_to_h9_fairway? h1_fairway? or h2_fairway? or h3_fairway? or h4_fairway? or h5_fairway? or h6_fairway? or h7_fairway? or h8_fairway? or h9_fairway? end def any_h10_to_h18_fairway? h10_fairway? or h11_fairway? or h12_fairway? or h13_fairway? or h14_fairway? or h15_fairway? or h16_fairway? or h17_fairway? or h18_fairway? end def any_h1_to_h9_gir? h1_gir? or h2_gir? or h3_gir? or h4_gir? or h5_gir? or h6_gir? or h7_gir? or h8_gir? or h9_gir? end def any_h10_to_h18_gir? h10_gir? or h11_gir? or h12_gir? or h13_gir? or h14_gir? or h15_gir? or h16_gir? or h17_gir? or h18_gir? end
那么如何从模型中访问参数?
您不需要虚拟属性的相应模型属性.将属性本地定义为保持状态的@no_fairways.
class ScoreCard < ActiveRecord::Base # define attributes and accessors for both fields attr_accessor :no_fairways,:no_girs .. end
现在里面你可以写:
<% form_for @scorecard %> <%= f.check_box :no_fairways %> <% end %>
以上是大佬教程为你收集整理的ruby-on-rails – Rails:使用与验证中的模型无关的表单域全部内容,希望文章能够帮你解决ruby-on-rails – Rails:使用与验证中的模型无关的表单域所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。