0
我想弄清楚如何只更新對象,如果某些領域已經改變。在最基本的層面上,如果說提交的startdate或enddate不同,但我不想更新它,但如果提交的user_id不同,則不會。這就是說,如果日期不同,並且它更新,我想使用它的user_id參數。我有SSN方法徹底刪除參數,但是,似乎是它會導致用戶沒有更新:只更新一個對象,如果某些領域改變
形式:
<%= form_for(@enrollment) do |f| %>
<div class="field">
<%= f.label :enddate %><br>
<%= f.text_field :enddate %>
</div>
<%= f.submit 'Term Plan'%>
<%= f.submit 'Cancel Plan', name: 'cancel_plan'' %>
控制器:
def update
authorize @enrollment
@enrollment.update_attributes(enrollment_params)
@enrollment.user=current_user
if params[:cancel_plan]
@[email protected]
end
if @enrollment.save
redirect_to @enrollment, notice: 'Enrollment was successfully updated.'
else
render action: 'edit'
end
end
所以在上面的例子中,我只想保存@enrollment對象,如果結束日期與之前不同,則不是如果只是用戶是不同的。
任何想法,建議等都將不勝感激!
對不起,疑問句也不清楚..做ü想知道,如果某些特定ATTR已更改/更新? – RAJ 2014-08-27 16:16:06
好點。我將它添加到上面,可能仍然不能很好地表達我的問題:因此,在上面的示例中,如果** enddate **與之前不同,則只想保存@enrollment對象,而不僅僅是**用戶* *是不同的。 – MechDog 2014-08-27 16:29:57
@MechDog你可以嘗試使用這段代碼:'@ enrollment.enddate_changed? && @ enrollment.save'? – Thanh 2014-08-27 16:35:57