У меня есть ArtistProduct
модель. Пользователь вводит данные о продукте, пользователь может просмотреть введенные данные в модальном окне, щелкнув ссылку предварительного просмотра перед сохранением сведений.
Я пытаюсь сохранить данные, используя AJAX, передавая все детали, такие как params, при проверке, но не сохраняя базу данных.
В связи с этим я звоню AJAX:
var theVal=id+'/'+artist_id+'/'+name+'/'+desc+'/'+price+'/'+story+'/'+artist_name+'/'+dimension+'/'+material+'/'+contact
var theURL = '/add_temp/' + theVal;
$.ajax({
url: theURL
});
В контроллере я работаю так:
def add_temp
@pro_id=ArtistProduct.where("id=?",params[:id])
if @pro_id.nil?
@artistprod = ArtistProduct.new(:artist_id=>58, :product_name=>params[:name], :description=>params[:desc], :product_price=>params[:price], :product_story=>params[:story],:artist_name=>params[:artist_name], :dimensions=>params[:dimension],:material=>params[:material],:contact_number=>params[:contact])
@artistprod.save
end
end
UPDATE
Спасибо за ваш ответ.
Теперь получаю ошибку маршрутизации.
У меня в роутере вроде:
match 'add_temp/:id/:artist_id/:name/:desc/:price/:story/:artist_name/:dimension/:material/:contact'=> 'artist_products#add_temp'
UPDATE
Ошибка маршрутизации
404 Не найдено
No route matches [POST] "/add_temp/P58018/58/Prod/swsx/50/sfdf/null/null/0"
UPDATE
Да, я его определил и исправил, но значения также не сохраняются в базе данных. Пожалуйста, помогите мне
В контроллере я делаю так:
def add_temp
if !(ArtistProduct.where("id=?",params[:id]).exists?)
@artistprod=ArtistProduct.new(:id=>params[:id],:artist_id=>58, :product_name=>params[:name], :description=>params[:desc], :product_price=>params[:price], :product_story=>params[:story],:artist_name=>params[:artist_name], :dimensions=>params[:dimension],:material=>params[:material],:contact_number=>params[:contact])
@artistprod.save
respond_to do |format|
format.html { redirect_to @artistprod.addproduct }
format.js
end
end
end
Привет, dbkooper, спасибо за ответ. Я попробовал ответ, данный вами, но получаю ошибку маршрутизации
Ввиду звоню вроде:
var theURL = '/artist_products/'+id+'/add_temp?artist_id='+artist_id+'product_name='+name+'description='+desc+'product_price='+price+'product_story='+story+'artist_name='+artist_name+'dimensions='+dimension+'material='+material+'contact_number='+contact;