【发布时间】:2016-09-09 15:40:05
【问题描述】:
我正在尝试从 AJAX 发送的 json 创建一个“访问”对象。这是模型:
class Visit < ApplicationRecord
serialize :number, JSON
serialize :time_spent, JSON
end
这是迁移文件:
class CreateVisits < ActiveRecord::Migration[5.0]
def change
create_table :visits do |t|
t.integer :number
t.integer :time_spent
t.timestamps
end
end
end
我有一个名为 show 的动作,其中包含以下脚本:
var start;
$(document).ready(function() {
start = Date.getTime();
$(window).unload(function() {
end = Date.getTime;
$.ajax({
type: 'POST',
dataType: 'json',
url: "/log",
data: { visit: { 'number': <% @number %>,'time_spent': end - start} }
})
});
}
衡量在页面上花费的时间。 '/log' 的路径是:
get '/log', to: 'home_page#log', :defaults => { format: 'json' }
而 home_page#log 是:
def log
@visit = Visit.new(visit_params)
respond_to do |format|
if @visit.save
format.json { render json: @visit.to_json }
end
end
end
visit_params 在哪里:
private
def visit_params
params.require(:visit).permit(:number, :time_spent)
end
当我导航到 /log 时,我收到一条错误消息,指出访问参数丢失或为空。
编辑:
我修复了路由中的错误,现在它是发布而不是获取。但是,终端中没有记录访问保存的消息。
【问题讨论】:
标签: ruby-on-rails json ajax activerecord