使用better_error gem,我收到以下错误
Missing partial recipes/_ingredient_fields, application/_ingredient_fields with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :haml, :jbuilder]}.
它说它无法在食谱下找到我的 _ingredient_fields.html.haml 文件,但我没有创建这样的文件。我确实创建了另一个名为 _ingredients_fields.html.haml 的部分,并且在代码中使用了它。
= simple_form_for @recipe, html: {multipart: true} do |f|
# some other code here....
.row
.col-md-6
%h3 Ingredients
#ingredients
= f.simple_fields_for :ingredients do |ingredient|
= render 'ingredients_fields', f: ingredient
.links
#complaining about this line, but i did not use any partial in this line.
= link_to_add_association "Add Ingredients", f, :ingredients, class: "btn btn-default add-button"
= f.button :submit, class: "btn btn-primary"
被困了一段时间,我在这里做错了什么?
答案 0 :(得分:1)
假设上面的 _ingredients_firelds.html.haml 是一个拼写错误,那么你在/ views / recipes /下有一个名为_ingredients_fields.html.haml的文件,尝试将recipes文件夹添加到这样的路径:
= render '/recipes/ingredients_fields', f: ingredient
您的代码中也可能出现拼写错误。
编辑:啊,我看到你正在使用茧宝石。因此,将_ingredients_fields.html.haml重命名为ingredient_fields.html.haml。 Coocon希望你有一个Ingredient模型类,所以在这里使用单数。答案 1 :(得分:0)
要回答我自己的问题,我只能使用_ingredient_fields.html.erb
作为我的部分名称。我尝试了很多其他变体,并且所有变体都会返回错误。我能想出的唯一解释是,它是内置于茧宝石中的。