我试图找出一种方法来记录有人更新对象时的更改.现在我的观察者将存储所有当前值,但我对如何确定哪些字段已更改以及如何将它们存储在我的feed db中感到迷茫.
为简单起见,这里有一个样本模型和观察者.我的目标是跟踪更新的字段并将其存储在Feed数据库中.如果需要,我愿意在我的数据库中添加新字段.如果您有任何疑问,请告诉我.
模型
# Table name: milestones
#
# id :integer not null, primary key
# name :string(255)
# project_id :integer
# target_date :datetime
Run Code Online (Sandbox Code Playgroud)
观察者跟踪变化
class MilestoneObserver < ActiveRecord::Observer
def after_update(milestone)
f = Feed.new(
:action => milestone.name,
:project_id => milestone.project_id,
:updated_by_id => "Jordan")
f.save
end
end
Run Code Online (Sandbox Code Playgroud) 任何人对如何实现这一点都有任何想法?
我试过了
https://graph.facebook.com/search?q=%22%23apple%22
https://graph.facebook.com/search?q=%23apple
https://graph.facebook.com/search?q#apple
Run Code Online (Sandbox Code Playgroud)
这不起作用.
要清楚,结果应该只有包含#apple而不是"apple"的帖子.
我试图从新创建的项目对象中提取id,以便我可以将用户重定向到包含新项目的页面.现在我得到''ProjectAddForm'对象没有属性'id'".
我在网上看到这应该有用,但出于某种原因,它不是.
if request.method == 'POST':
form = ProjectAddForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse('project.views.detail', args=(form.id)))
Run Code Online (Sandbox Code Playgroud)
Forms.py
class ProjectAddForm(forms.ModelForm):
class Meta:
model = Project
Run Code Online (Sandbox Code Playgroud)