2016-07-30 8 views
0

Ich versuche, eine kleine Rezeptwebseite zu bauen. Aber wenn ich versuche, geschachteltes Attribut zu verwenden, um meine Kind (Rezeptzubereitung) Tabelle durch Eltern (Rezept) Aktion zu speichern. Es erzeugt nur IDs für mich ohne irgendwelche Daten darin. Könnte jemand helfen?verschachteltes Attribut in Schienen

Modell für Rezept:

class Recipe < ActiveRecord::Base 
    has_many :recipe_ingredients 
    accepts_nested_attributes_for :recipe_ingredients, allow_destroy: true 
end 

Modell für Recipe_Ingredients:

class RecipeIngredient < ActiveRecord::Base 
    belongs_to :recipe, inverse_of: :recipe_ingredients 
end 

Controller für Rezept:

def create 
    @recipe = Recipe.new(recipe_params) 
    @recipe.recipe_ingredients.build 
    ***binding.pry*** 

if @recipe.save 
    render json: @recipe, status: :created, location: @recipe 
else 
    render json: @recipe.errors, status: :unprocessable_entity 
end 
end 

def recipe_params 
    params.require(:recipes) 
    .permit(:name, :category, instruction: [], recipe_ingredients_attributes: [:amount, :ingredient, :measure]) 
end 

`` `

Nachdem ich überprüfen mit Schienen Konsole , mein recipe_params ist wie folgt:

[7] pry(#<RecipesController>)> recipe_params Unpermitted parameter: recipe_ingredients => {"name"=>"an example recipe", "category"=>"fry", "instructions"=>["do it", "ignore it"]} Ich weiß nicht, wie man dieses Problem "Unerreichter Parameter" löst. Bitte helfe ~ Danke ~

+0

Update: Über das Problem gelöst, ist es meine Locken Anfrage verursacht das Problem. Ich habe für meine Daten keine "rezept_einstellungsmerkmale_attribute" angegeben. Aber Schienen helfen mir, Daten für recipe_ingredients Tisch und auch eine Linie der leeren Daten zu speichern. – tina

Antwort

0

Versuche, params.require (: recipes) in deiner rezept_params-Methode zu ändern params.require (: rezept) Hoffe, es hilft.

+0

Danke ~ Ich vergesse, "recipe_ingredients_attributes" in meiner Locke anzugeben. Problem lösen ~ Wenn es möglich ist, würde es Ihnen etwas ausmachen, eine weitere Frage von Fragen zu verschachtelten Attributen für mich zu prüfen? Vielen Dank ~ http: //stackoverflow.com/questions/38679639/update-nested-attributes-in-rails – tina

Verwandte Themen