我有一个 Sinatra 应用程序,它从外部 API 加载信息并将其显示在页面上。这是在 Sinatra 中完成的,它获取信息并将其放置为临时模型实例(未保存),因此更容易在视图中访问其所有属性。
现在,当用户单击链接时,我希望将模型实例保存到数据库中,我认为这只能通过 AJAX 等来完成,因为最后一个请求已经完成,并且没有一个实例仍然存在。我以为我需要提取相应 HTML 元素的所有信息,然后将 AJAX-Post 发送到另一条路线。
我现在的问题是,我希望能够使用@model = Model.create(params[:model])
. 使用表单可以很清楚地做什么,但这不是一个选项,因为所有数据都显示在一个表中,并且每个表行都是模型的一个实例。
如何序列化单击链接所在的表行中的数据,以便可以如上所述使用它?
更新
- 我正在使用对象类的多个实例,每个实例都在一个表行中!
- 我正在使用DataMapper,只有临时对象没有存储!
- 我不想弄乱我的整个设置!