我新手使用Rails從JavaScript使用AJAX POST到Rails 4控制器,具有強大的參數
我的目的是插入song_id
並從Javascript獲得通過AJAX的POST到數據庫title
(MySQL的)
在我的JavaScript文件
var song_id = "23f4";
var title = "test";
$(document).ready(function() {
jQuery.ajax({
url: 'create',
data: "song_id=" + song_id + "&title=" + title,
type: "POST",
success: function(data) {
alert("Successful");
},
failure: function() {
alert("Unsuccessful");
}
});
});
在我editor_controller.rb
class EditorController < ApplicationController
def new
@song = Song.new
end
def create
logger.debug("#{params[:song_id]}")
logger.debug("#{params[:title]}")
@song = Song.new(song_params)
if @song.save
redirect_to root_path
else
flash[:notice_song_failed] = true
redirect_to root_path
end
end
private
def song_params
params.require(:song).permit(:song_id, :title)
end
問題是,當我運行這段代碼的Rails應用程序,控制檯注意到我,
的ActionController :: ParameterMissing在/編輯/創建
參數是丟失或值爲空:曲
我試圖使用
private
def song_params
params.require(:song).permit(params[:song_id], params[:title])
end
,但它不工作,並注意到我一樣,而且在終端日誌告訴我下面
開始POST「/編輯/製造」 :: 1日2015-04- 01 1點07分23秒0700
處理由EditorController#創建作爲/
參數:{ 「song_id」=> 「23f4」, 「標題」=> 「測試」}
23f4
測試
完成在1ms內
400錯誤的請求難道我錯過了在我的代碼什麼的,感謝您的進展。