首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RoR,页面不使用Turbo_stream删除在turbo_frame中更新

RoR,页面不使用Turbo_stream删除在turbo_frame中更新
EN

Stack Overflow用户
提问于 2022-01-29 12:21:45
回答 1查看 869关注 0票数 2

我的回购:https://github.com/czepesch/gloss (涡轮框架开发分公司)

我在一个词汇表中有一个条目的列表。删除操作出现问题。条目将被删除,但页面不会重新加载\条目,不会自动删除。(同一页上没有涡轮帧的相同删除操作)

代码语言:javascript
复制
glossaries/show.html.haml
= turbo_frame_tag 'tab_content' do

 - for entry in @glossary.entries
  = entry.term
  ...
  = link_to edit ...
  = link_to [@glossary, entry], data: { 'turbo_method': 'delete', turbo_confirm: "are you sure?" }
代码语言:javascript
复制
entries_controller.rb
  def destroy
    @entry.destroy

    respond_to do |format|
      format.turbo_stream { render turbo_stream: "turbo_stream.remove(@entry)" }
      format.html { redirect_to glossary_path(@glossary) }
      format.json { head :no_content }
    end
  end

服务器日志:

代码语言:javascript
复制
12:57:56 web.1  | Started DELETE "/glossaries/57/entries/8" for ::1 at 2022-01-29 12:57:56 +0100
12:57:56 web.1  | Processing by EntriesController#destroy as TURBO_STREAM
12:57:56 web.1  |   Parameters: {"glossary_id"=>"57", "id"=>"8"}
12:57:56 web.1  |   Glossary Load (0.1ms)  SELECT "glossaries".* FROM "glossaries" WHERE "glossaries"."id" = ? LIMIT ?  [["id", 57], ["LIMIT", 1]]
12:57:56 web.1  |   ↳ app/controllers/entries_controller.rb:57:in `get_glossary'
12:57:56 web.1  |   Entry Load (0.2ms)  SELECT "entries".* FROM "entries" WHERE "entries"."glossary_id" = ? AND "entries"."id" = ? LIMIT ?  [["glossary_id", 57], ["id", 8], ["LIMIT", 1]]
12:57:56 web.1  |   ↳ app/controllers/entries_controller.rb:61:in `set_entry'
12:57:56 web.1  |   TRANSACTION (0.1ms)  begin transaction
12:57:56 web.1  |   ↳ app/controllers/entries_controller.rb:46:in `destroy'
12:57:56 web.1  |   Entry Destroy (0.7ms)  DELETE FROM "entries" WHERE "entries"."id" = ?  [["id", 8]]
12:57:56 web.1  |   ↳ app/controllers/entries_controller.rb:46:in `destroy'
12:57:56 web.1  |   TRANSACTION (18.3ms)  commit transaction
12:57:56 web.1  |   ↳ app/controllers/entries_controller.rb:46:in `destroy'
12:57:56 web.1  | Completed 200 OK in 28ms (Views: 0.1ms | ActiveRecord: 19.4ms | Allocations: 2884)

在这里输入图像描述

EN

回答 1

Stack Overflow用户

发布于 2022-02-03 21:59:50

所以,我的问题主要是与我的误解框架和id的。在我清理了我的代码,把一些部分移到部分,我解决了这个问题,只是给元素正确的标签。主计长保持不变:

代码语言:javascript
复制
entries_controller
respond_to do |format|
      format.turbo_stream { render turbo_stream: "turbo_stream.remove(@entry)" }

使用turbo_frame_tag显示移到分部的条目:

代码语言:javascript
复制
views/entries/_entry.html.haml
= turbo_frame_tag entry do
  - for entry in @glossary.entries
    = entry.term
    ...

在视图中,我创建了一个带有id条目的div

代码语言:javascript
复制
  %turbo-frame#entries
    = render @glossary.entries
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70905302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档