【发布时间】:2018-12-20 18:28:05
【问题描述】:
我正在创建一个基本应用程序来创建和存储要练习的食谱,并且似乎无法在我的表单下显示错误,下面是我所拥有的简单示例 -
recipes_controller.rb(相关部分)
def new
@recipe = Recipe.new
end
def create
@recipe = Recipe.new(recipe_params)
@recipe.save
redirect_to '/create_recipe'
end
private
def recipe_params
params.require(:recipe).permit(:title, :description)
end
recipe.rb(模型)
class Recipe < ApplicationRecord
has_many :ingredients
has_many :steps
validates_presence_of :title
end
new.html.erb
<%= form_for @recipe do |f| %>
<div class="new_recipe_form">
<% if @recipe.errors.any? %>
<div class="form_error">
<ul>
<% @recipe.errors.full_messages.each do |msg| %>
<li><%='Error: ' + msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :description %>
<%= f.text_area :description %>
</div>
<div>
<%= f.submit %>
</div>
<% end %>
当我提交没有标题的表单时,什么也没有发生。它不会创建配方,所以我知道验证器正在工作,但没有出现错误。
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby