我需要一些帮助,因为我无法验证并在屏幕上完美地显示给我的用户.
该模型:
class Book < ActiveRecord::Base belongs_to :genre valIDates_presence_of :Title,:genre attr_accessible :genre_IDend
表格:
<div > <%= f.label :genre %><br /> <%= f.collection_select(:genre_ID,Genre.all(:order => :name),:ID,:name,:prompt => 'Select') %></div>
当我发送表单为空白(默认情况下选择提示值)时,错误消息显示“类型不能为空”但在表单中我收到的HTML如:
<div > <div > <label for="book_genre">Genre</label> </div> <br> <select name="book[genre_ID]" ID="book_genre_ID"> <option value="">Select</option> <option value="2">Gramatic</option> <option value="1">Terror</option> </select></div>
我也需要div.fIEld_with_erros中的select字段,因为我在CSS中定义了红色背景.
之后我尝试将f.collection_select:genre_ID更改为:genre
现在我在div.fIEld_with_erros中找到了select字段.哦,是的,胜利,一会儿,直到我意识到验证总是指责错误,导轨不知道选择字段:流派是:genre_ID它寻找.
我的问题是:如何使:类型更改为:genre_ID验证?或者你们所有人都有更好的方法吗?
继续测试我尝试将标签和collection_select更改为genre_ID,验证工作完美,但没有使用div.fIEld_with_errors生成HTML所以我试图将:genre_ID放在valIDates_presence_of中,所以现在它看起来像:“valIDates_presence_of:Title,:genre,:genre_ID“.
很棒,但……
>当我提交表单并选择了默认提示值时
验证工作正常,但他们指责2个错误,一个到:流派和
另一个:genre_ID(¬¬)但HTML很好,标签和
select位于div.fIEld_with_erros中.
>如果我提交表格并从流派中选择一些值
验证和HTML是好的.
>如果我提交表单但我已将某个选项的值更改为一个无效的
测试模型之间的验证是否真正起作用验证
工作正常,但HTML没有创建div.fIEld_with_erros.
有人可以帮帮我吗?
(是的,我的英语不是最好的.抱歉!)
class CreateGenres < ActiveRecord::Migration def change create_table :genres do |t| t.string :Title t.timestamps end endendclass CreateBooks < ActiveRecord::Migration def change create_table :books do |t| t.string :name t.references :genre t.timestamps end endend
我有以下形式:
<%= f.label :genre_ID %><%= f.collection_select(:genre_ID,Genre.all(:order => :Title),:Title,:prompt => 'Select') %>
在我的模型中:
class Genre < ActiveRecord::Base attr_accessible :Title has_many :booksendclass Book < ActiveRecord::Base belongs_to :genre valIDates_presence_of :name,:genre_ID attr_accessible :name,:genre_IDend
验证然后按照我的预期工作……
总结以上是内存溢出为你收集整理的ruby-on-rails – Rails 3:验证关联并完美地向用户显示验证全部内容,希望文章能够帮你解决ruby-on-rails – Rails 3:验证关联并完美地向用户显示验证所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)