所以我目前正在使用Rails配方框(是的,我已经在youtube上观看了12周的12 Rails应用程序),并停留在“添加成分”功能上。
基本上,在“创建新配方”页面中,它具有“添加成分”按钮。它的作用是添加一个新的配方文本字段。我正在按照此视频中的说明进行操作:http://railscasts.com/episodes/403-dynamic-forms,并且遇到了一些问题。
更多信息:我的coffee和applicationhelper文件就像视频中的一样。
关于我的数据库,我的食谱有很多成分,而且食谱
accepts_nested_attributes_for :recipe_ingredients
我的new.html.erb(部分,其余的工作正常):
h3>Ingredients</h3>
<%= render 'field_fields', f: f, temp: temp, recipe_ingredients:
recipe_ingredients %>
我的field_fields
部分:
<%= f.fields_for :recipe_ingredients do |ff| %>
<%= ff.label :temp, "Content of ingredient", class: "field-label" %>
<%= ff.text_field :temp, class: "form-control field-input" %>
<% end %>
对于任何想知道temp
是什么的人来说,保存recipe_ingredient
是一个临时变量。我先在recipe_ingredient
控制器中将其分成三部分,然后再保存到数据库中(出于随机目的)
class RecipeIngredient < ApplicationRecord
attr_accessor :temp
before_save :split
belongs_to :recipe, class_name: Recipe.name
def split
self.name, self.amount,
self.measurement = temp.split(" ", 3)
end
end
但是最后,它没有用。请帮忙。 (我知道宝石茧,只是不允许在这里使用它:()