我在創建具有關聯的對象時遇到問題。Ruby on rails:創建具有多個關聯的對象時遇到問題
我有一個消息模型belongs_to的工作,和用戶或亞軍。在我的jobs/index.html內部,我想顯示一份帶有相應消息的作業列表和一個表單,爲該特定作業創建一條新消息。
的問題是,每當我創建了一個消息,JOB_ID保持爲零。我對軌道上的紅寶石很陌生,所以我還沒有完全理解這個東西。
這是我的工作/ index.html中的一部分(注:不是我實際的代碼,我在課堂上,所以我剛纔輸入這件事,可能含有語法錯誤)。
<% @jobs.each do |job| %>
<p> <%= job.body %> </p>
<%= form_for job.messages do |f| %>
<%= f.label :body %>
<%= f.text_field :body %>
<%= f.submit %>
<% end %>
<%if job.messages.present? %>
<ul>
<% job.messages.each do |message| %>
<li>
<p> message.description <p>
</li>
<% end %>
</ul>
<% else %>
<p> No messages <p>
<% end %>
<% end %>
以下是在消息控制器的創建方法(注:current_login可以是跑步者或用戶,它們都共享相同的屬性)
def create
@message = current_login.messages.new(params[:message])
@message.save
end
工作控制器索引動作
def index
@jobs = Job.all
end
消息模型
class Message < ActiveRecord::Base
attr_accessible :description
belongs_to :user
belongs_to :runner
belongs_to :job
end
用戶模型
class User < ActiveRecord::Base
attr_accessible :username
has_many :jobs
end
轉輪模型
class Runner < ActiveRecord::Base
attr_accessible :username
has_many :jobs
end
工作模式
class Job < ActiveRecord::Base
attr_accessible :body
has_many :messages
belongs_to :user
belongs_to :runner
end
每當我提交作業/ index.html的視圖內消息形式,它似乎成功創建帶有user_id或runner_id的消息已成功填寫(具體取決於發佈消息的人員),但我的job_id屬性爲零。
我不知道我是否可以做到這一點,新用於創建新的工作,而不是消息。 – user2158382 2013-05-07 22:17:52
確定你可以。觀看我剛剛添加到我的回覆中的視頻 – Kristian 2013-05-07 22:20:48
謝謝,該視頻很有幫助,但並未解決我的問題。 – user2158382 2013-05-08 00:25:54