我发生了一件奇怪的事情。我有一个模型调用配方has_many:信息和:方向。当我尝试保存@recipe(请参阅我的控制器)时,其中有许多:信息和:方向;有时候它有效,有时它不会在我没有改变任何东西的源代码。
此外,:信息始终保存;问题似乎只是关于:方向
这是我的控制器:
def new
@recipe = current_user.recipes.new
end
def create
@recipe = current_user.recipes.new(recipe_params)
if @recipe.save
redirect_to @recipe, notice: "Successfully created new recipe"
else
render 'new'
end
end
private
def recipe_params
params.require(:recipe).permit(:category_id, :title, :description, informations_attributes: [:id, :title, :url, :_destroy], directions_attributes: [:id, :title, :url, :step, :_destroy])
end
end
当我尝试从我的表单中保存时,这里是params:
参数:{" utf8" =>"✓", " authenticity_token" = GT;" WFA + WTI + C3hnvscAC1O922EYlssJE3zAbEmmqMbmR + 5krb0b17fkWhsXVAW1aFcom8x11uGqGO6drQudGhdcvA ==&#34 ;, "食谱" => {"标题" =>"测试","描述" =>"测试&#34 ;," category_id" =>" 3", " informations_attributes" => {" 1431197959831" => {"标题" =>"测试&#34 ;, " url" =>" dede"," _destroy" =>" false"}," 1431197959835" = > {"标题" = GT;" DED&#34 ;, " url" =>" dede"," _destroy" =>" false"}}, " directions_attributes" => {" 1431197963709" => {"标题" =>"德德&#34 ;, " url" =>" dede"," step" =>" de"," _destroy" => ;"假"}, " 1431197963712" => {"标题" =>" ded"," url" =>" ded&#34 ;," step" =>" ded", " _destroy" =>" false"}}},"提交" =>"创建主题"}
Shema:
create_table "directions", force: :cascade do |t|
t.text "step"
t.integer "recipe_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "url"
t.string "title"
end
create_table "information", force: :cascade do |t|
t.string "url"
t.integer "recipe_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "cached_votes_total", default: 0
t.integer "cached_votes_score", default: 0
t.integer "cached_votes_up", default: 0
t.integer "cached_votes_down", default: 0
t.integer "cached_weighted_score", default: 0
t.integer "cached_weighted_total", default: 0
t.float "cached_weighted_average", default: 0.0
t.string "title"
end
create_table "recipes", force: :cascade do |t|
t.string "title"
t.text "description"
t.integer "user_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "category_id"
end
感谢您的帮助!