1
我正在打印用戶聯繫人列表,並希望讓用戶能夠將每個聯繫人標記爲「已完成」。 (基本上將它們標記爲待辦事項列表)。在has_many關係上更新屬性
如何更新特定聯繫人的done屬性?
這是形式的隱藏字段不工作:
<% if current_user.contacts.any? %>
<% current_user.contacts.each do |c| %>
<li id="<%= c.id %>">
<%= c.name %><br/>
<%= form_for(@contact) do |f| %>
<%= f.hidden_field :done, :value=>true %>
<%= f.submit "Mark as done", class: "btn btn-small btn-link"%>
<% end %>
</li>
<% end %>
我得到這個錯誤:
Template is missing Missing template contacts/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "C:/Sites/rails_projects/sample_app/app/views"
這是我接觸控制:
def create
@contact = current_user.contacts.build(params[:contact])
if @contact.save
flash[:success] = "Contact saved!"
redirect_to root_url
else
flash[:error] = "Something is wrong"
end
end
是@contact = current_user.contacts.build(PARAMS [:聯繫人])如果我只想更新':done',而不是創建新的聯繫人,請在這裏調用正確的方法? – kwh941
您可以使用它來'建立'一個新的聯繫人,但不會更新數據庫中的任何內容。你只是在內存中有一個未被執行的聯繫人。 – PinnyM
那麼我應該怎麼把form_for(____)呢?那該怎麼辦? – kwh941