我在Ajax函数方面遇到了一些问题。我从服务器收到错误500
。
Ajax函数如下所示:
$.ajax({
type: "POST",
url: "<%= url_for(:controller => "movies", :action => "test") %>",
data: {inputtag: tag }
})
在我的电影控制器中,我有这个功能
# Fügt dem Video einen Tag hinzu
def test
@tag = Tag.new
if request.post?
@tag.update_attributes(params[:inputtag])
if @tag.save
redirect_to :back
else
redirect_to :back
end
end
end
所以,我不知道为什么会出现这个错误:
http://lvh.me/movies/test 500 (Internal Server Error)
答案 0 :(得分:0)
您缺少routes.rb文件中的条目
resources :movies do
collection do
get 'test'
end
end
答案 1 :(得分:0)
500状态与路由无关。检查你的控制器动作,特别是这个。
@ tag.update_attributes(PARAMS [:inputtag])
您正在尝试更新不存在的记录,并且您没有正确使用Rails的强参数。所以试试吧。
def test
@tag = Tag.create tag_params
redirect_to :back
end
private
# If your tag model looks like: Tag(id: integer, inputtag: string)
def tag_params
params.require(:tag).permit(:inputtag)
end