私はAjaxオブジェクトを構築しようとしていると私はおかしいのエラーを取得していますを作る...ここRailsの4処理不能エンティティエラーAjaxのポスト
は
ここ<%= f.fields_for :order_item do |ff| %>
<div class="col-md-4">
<%= ff.hidden_field :quote_id, value: @quote.id %>
<%= ff.collection_select :category_id, Category.order(:name), :id, :name, include_blank: "Select Category", hide_label: true %>
</div>
<div class="col-md-6">
<%= ff.grouped_collection_select :product_id, Category.order(:name), :products, :name, :id, :name, include_blank: true, hide_label: true %>
</div>
<div class="col-md-2">
<%= ff.submit "Add Item", class:"btn-u btn-u-blue pull-right", id:"add_item" %>
</div>
<% end %>
は私である私のネストされたフォームフィールドですquote.js.coffee私はここに私のAJAX呼び出し
$('form').on 'click', '#add_item', (e) ->
e.preventDefault()
product = $('#quote_order_item_product_id :selected').val()
quote = $('#quote_order_item_quote_id').val()
console.log(product)
console.log(quote)
$.ajax '/order_items',
type: 'POST'
dataType: 'json'
data: { order_item: { product_id: product, quote_id: quote } }
success:(data) ->
alert data.id
return false
error: (jqXHR, textStatus, errorThrown) ->
alert textStatus
return false
を作っていますどこに私のコントローラである(のparamsはproduct_id
とquote_id
を受け入れる)
def create
@order_item = OrderItem.new(order_item_params)
respond_to do |format|
if @order_item.save
format.json { render :show, status: :created, location: @order_item }
else
format.json { render json: @order_item.errors, status: :unprocessable_entity }
end
end
end
ここ
belongs_to :quote
belongs_to :product
# validates :quantity, presence: true, numericality: { only_integer: true, greater_than: 0 }
before_save :set_quantity
before_save :set_unit_price
def total_price
unit_price * quantity
end
def set_unit_price
product = Product.find(self.product_id)
self.unit_price = product.price
end
def set_quantity
if quantity.nil?
self.quantity = 1
end
end
private
def product_present
if product_id.nil?
errors.add(:product, "is not valid or is not active.")
end
end
def quote_present
if quote_num.nil?
errors.add(:quote, "is not a valid quote.")
end
end
def finalize
self[:unit_price] = unit_price
self[:total_price] = quantity * self[:unit_price]
end
end
を要求したとして、私のORDER_ITEMモデルである私も、データがこの形式で
data: { product_id: product, quote_id: quote }
を掲載している作るしようとした私のルート
resources :order_items, only: [:create, :update, :destroy]
です
'@ order_item.save'が' false'を返すので、いくつかの検証エラーがあることを意味します。 – Kkulikovskis
yrコンソールパラメータを投稿できますか? – 7urkm3n
私はモデルを追加してみましたので、みんなが見直すことができます –