从链接中删除 has_one 关联的正确方法是什么

Und*_*ion 1 ruby activerecord ruby-on-rails associations has-one

我有一个NewsItem模型,其中has_one :photo. 我希望允许用户快速从链接中删除此关联(无需使用“编辑 NewsItem”表单)。

从链接中删除此关联而不为此目的添加额外的控制器操作的正确方法是什么?

编辑:我的 NewsItemController 上已经有 7 个标准 CRUD 操作。我不想仅针对这种情况添加新操作。

Vis*_*rai 5

您必须向控制器#action 发送删除请求

在行动中你可以简单地做

  news_item = NewsItem.find(params[:news_item_id])
  news_item.photo.destroy
Run Code Online (Sandbox Code Playgroud)

建立一个销毁链接

link_to 'Destroy Photo', news_items_photo_path(news_item, news_item.photo), data: { confirm: 'Are you sure?' }, method: :delete
Run Code Online (Sandbox Code Playgroud)