은 내가 이렇게 보이는 레일 모델이 있습니다어떻게 동적으로 생성 된 필드가있는 모델을 저장합니까?
class Recipe < ActiveRecord::Base
has_many :ingredients
attr_accessor :ingredients_string
attr_accessible :title, :directions, :ingredients, :ingredients_string
before_save :set_ingredients
def ingredients_string
ingredients.join("\n")
end
private
def set_ingredients
self.ingredients.each { |x| x.destroy }
self.ingredients_string ||= false
if self.ingredients_string
self.ingredients_string.split("\n").each do |x|
ingredient = Ingredient.create(:ingredient_string => x)
self.ingredients << ingredient
end
end
end
end
아이디어는 내가 웹 페이지에서 성분을 만들 때, 나는 ingredients_string
에 전달하고 모든 모델 정렬을 할 수 있다는 것입니다. 물론, 내가 재료를 편집 중이라면 그 문자열을 다시 만들어야합니다. 버그는 기본적으로 다음과 같습니다 : 이 set_ingredients
메서드에 정의되어 있는지 확인하려면 어떻게하면 (우아하게) ingredients_string의 뷰를 알 수 있습니까?
미안 해요, 난 정말 당신이 요구하는지 이해가 안 돼요. 해결하려는 문제는 무엇입니까? 어떻게 사용되는지, 어디에서 고장이 나는지에 대한 예를들 수 있습니까? – bhollis