【问题标题】:Turbo stream in Rails 7 does not render the same pages for error action of createRails 7 中的 Turbo 流不会为创建的错误操作呈现相同的页面
【发布时间】:2022-12-04 06:10:50
【问题描述】:

我的控制器如下:

  def create
    @message = @inbox.messages.new(message_params) 

    respond_to do |format|
      if @message.save
        format.turbo_stream do
          render turbo_stream: [
            turbo_stream.update('new_message',
                                 partial: 'inboxes/messages/form',
                                 locals: { message: Message.new })
          ]
        end
        format.html { redirect_to @inbox, notice: "Message was successfully created." }
      else

        format.turbo_stream do
          render turbo_stream: turbo_stream.update('new_message', partial: 'inboxes/messages/form', locals: { message: @message })
        end
        format.html { render :new, status: :unprocessable_entity }

      end
    end
  end

创建操作重定向到 @inbox 没有问题但是当我尝试呈现错误时(否则)它被重定向到收件箱/消息/

也不知道为什么,但 ActionController::UnknownFormat 仅针对 else 部分使用以下代码:

def create
    @message = @inbox.messages.new(message_params)

    respond_to do |format|
      if @message.save
        format.turbo_stream do
          render turbo_stream: [
            
            turbo_stream.update('new_message',
                                partial: 'inboxes/messages/form',
                                locals: { message: Message.new })
 
            ]
        end
        format.html { redirect_to @inbox, notice: 'Message was successfully created.' }

      else
        format.turbo_stream do
          render turbo_stream: [
            turbo_stream.update('new_message',
                                partial: 'inboxes/messages/form',
                                locals: { message: @message })
            ]
          format.html { render :new, status: :unprocessable_entity }
        end
      end
    end
  end

【问题讨论】:

  • 你能分享这个控制器的控制台输出吗?

标签: ruby-on-rails


【解决方案1】:

你在else块中的format.turbo_stream也封装了format.html,它应该在它之外(所以在下一个end之后)

【讨论】:

    猜你喜欢
    • 2023-01-14
    • 1970-01-01
    • 1970-01-01
    • 2022-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    相关资源
    最近更新 更多