我们说我的墙上演出动作中列出了一堆卡片。当您与卡片互动时(例如,点击它),我想更新该卡片的属性。
我目前通过使用Javascript获取卡片属性,将其添加到卡片表格并远程提交表单来实现此目的。
我有卡的ID,但如何告知表单我要更新哪张卡?
表单和控制器更新操作应该是什么样的?
这是我到目前为止所拥有的
表格
<%= form_for(@card, remote: true) do |f| %>
<%= f.text_field :list_id %>
<%= f.text_field :order %>
<% end %>
控制器
def update
@card = Card.find(params[:id])
if @card.update_attributes(shared_params)
redirect_to edit_card_path(@card, format: :html)
else
render :edit
end
end
答案 0 :(得分:0)
您也可以使用相同的新模板进行编辑。这里唯一的要求是你想要编辑的对象。
因此,首先让您在控制器中编辑动作
def edit
@card = Card.find(params[:id])
end
<%= form_for(@card, remote: true) do |f| %>
<%= f.text_field :list_id %>
<%= f.text_field :order %>
<% end %>
在卡片展示页面中,添加指向编辑操作的链接
<%= link_to "Edit", edit_card_path(card.id) %>