我有一個應用程序,在這周可以批准或拒絕對象,這是在周控制器中完成的。我的一週模特屬於用戶。下面是我在做什麼在本週控制器很短的例子:屬於用戶的模型,無法訪問user_id
第一塊提供了一些背景:
def approve
@user = current_user
if params[:commit] == "Approve selected weeks"
Week.where(id: params[:weeks_ids]).update_all(approved?: true)
flash[:success] = "Selected weeks were approved!"
#Send an email noting it was approved
@user.send_approved(current_user)
下面是成功的一半拒絕:
elsif params[:commit] == "Reject selected weeks"
user_week = Week.where(id: params[:weeks_ids])
user_week.update_all(approved?: false)
以上,這幾周完全更新。下面,我嘗試從選定的一週中檢索用戶,以便我可以向該用戶發送電子郵件。
#get the user associated with the rejected week, send them an email.
user_email = User.find(id: user_week.user_id)
UserMailer.send_rejection(user_email).deliver
flash[:info] = "Selected weeks were Rejected."
end
redirect_to weeks_path
end
當我嘗試但拒絕一個星期,我收到以下錯誤:
undefined method `user_id' for <Week::ActiveRecord_Relation:0x007fdcac43e730>
這是由於未指定的用戶對象?
注 - 我加入到預先存在的代碼在這裏,並有MVC不甚瞭解或滑軌語法。我一整天都在瀏覽堆棧溢出,不知何故沒有發現任何看起來一樣的東西,但我肯定會誤會。 – CodeBoy