使用Rails 2.3.8
目标是创建一个Blogger,同时更新嵌套的用户模型(如果信息已更改等),或者创建一个全新的用户(如果它尚不存在).
模型:
class Blogger < ActiveRecord::Base
belongs_to :user
accepts_nested_attributes_for :user
end
Run Code Online (Sandbox Code Playgroud)
Blogger控制器:
def new
@blogger = Blogger.new
if user = self.get_user_from_session
@blogger.user = user
else
@blogger.build_user
end
# get_user_from_session returns existing user
# saved in session (if there is one)
end
def create
@blogger = Blogger.new(params[:blogger])
# ...
end
Run Code Online (Sandbox Code Playgroud)
形成:
<% form_for(@blogger) do |blogger_form| %>
<% blogger_form.fields_for :user do |user_form| %>
<%= user_form.label :first_name %>
<%= user_form.text_field :first_name %>
# ... other fields for …Run Code Online (Sandbox Code Playgroud) 我正在使用Collectoridea的delay_job版本:https : //github.com/collectiveidea/delayed_job
谁能指出我当工人去选择下一份工作时所使用的实际标准?我假设它像“ SELECT ID FROM Delayed_jobs WHERE run_at> NOW()ORDER BY priority ASC,run_at ASC LIMIT 1”(优先选择优先,run_at时间第二),但我一直无法找到确切的内容考虑过的。我已经在GitHub上的代码中做了一些探索,但是还没有找到下一份工作的实际查询。对几件事感到好奇,包括是否将“ created_at”,“ attempts”或“ failed_at”因素都放在了优先级中。(而且我意识到我不太可能找到实际的SQL,这只是表示我假设查询所做的一种简单方法)。
其次,该宝石的实际文档有什么好的来源?对于在Rails中如此普遍使用的东西,我所看到的文档相当稀疏。