【发布时间】:2022-01-19 19:45:38
【问题描述】:
所以我有一个新的 Rails 项目,我创建了一些我在下面列出的类。 我的问题是,当尝试在我的控制器中创建“Skabelon”时,它失败并显示“ArgumentError(参数数量错误(给定 2,预期 0..1))
我的控制器下面还有一个小例子,说明 json 数据是如何来自前端的。 附言。我必须使用 embedded_in 而不是 has_many 来做到这一点,因为我不希望所有这些都有自己的集合
Skabelon.rb
class Skabelon
include Mongoid::Document
store_in collection: 'skabeloner'
field :title, type: String
embeds_many :sektioner, class_name: "Sektion"
end
sektion.rb
class Sektion
include Mongoid::Document
field :title
embeds_many :felter, class_name: "SektionFelt"
embedded_in :skabelon
end
sektion_felt.rb
class SektionFelt
include Mongoid::Document
field :type
field :text
field :felter
embedded_in :sektion
end
然后我有以下控制器: 被调用的方法是从前端发送的 post 请求中“创建”
class SkabelonController < ApplicationController
# GET /skabeloner
def index
render json: Skabelon.all
end
# GET /skabeloner/1
def show
render json: Skabelon.find(params[:id])
end
# POST /skabeloner
def create
skabelon = Skabelon.new(skabelon_params)
skabelon.save
end
# PATCH/PUT /skabeloner/1
def update
end
# DELETE /skabeloner/1
def destroy
end
private
# Only allow a list of trusted parameters through.
def skabelon_params
params.permit!
end
end
从客户端到服务器的 JSON:
skabelon: {
title: 'Oplysninger om barnet',
sektioner: [{
felter: [{type: 'text', text: 'Name'}]
}]
}
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 mongoid