I'm trying to post a json message to a Rails 4.1.1 server, but is failing due to unpermitted parameters. I'm using Mongoid as well and submitting via POST and content type of application/json.
Here's my domain:
class Sale
  include Mongoid::Document
  include Mongoid::Timestamps
  field :internalId, type: String
  embeds_many :saleItems
  accepts_nested_attributes_for :saleItems
end
Here's the controller code:
    def sale_params
      params.require(:sale).permit(:internalId, :parentInternalId, :externalId, :internalIdForStore, :internalIdForCustomer, :sendReceiptType, :saleItems)
    end
 # POST /sales
  # POST /sales.json
  def create
    @sale = Sale.new(sale_params)
    #####################
    puts "parent: "
    puts @sale.inspect
    puts "collections: "
    @sale.saleItems.each do |si|
       puts "collection here"
       puts si.inspect
    end
    respond_to do |format|
      if @sale.save
        format.html { redirect_to @sale, notice: 'Sale was successfully created.' }
        format.json { render action: 'show', status: :created, location: @sale }
      else
        format.html { render action: 'new' }
        format.json { render json: @sale.errors, status: :unprocessable_entity }
      end
    end
  end
I've successfully saved the collection saleItems fine outside of rails and just using a ruby script with the collection successfully saving via Mongoid.
Here's the JSON content:
{
    "sale" : {
        "internalId":"77E26804-03CC-4CA9-9184-181C2D8CB02A"
        "saleItems" : [
              {
                "inventoryName" : "inv 1"
              },
              {
                "inventoryName" : "inv 2"
              }
        ]      
    }
}
 
     
     
    