首页 > 解决方案 > ActionController::UnknownFormat - 更新记录时出错

问题描述

作为学校项目的一部分,我正在开发一个解决冲突的应用程序。在应用程序中,管理员需要与每个潜在的调解员进行面谈。我已经搭建了调解器资源,现在我试图通过在“编辑”视图中添加条件渲染来“搭载”其编辑和更新操作以进行采访。

mediators_controller.rb 相关动作

def edit
end

def update
    respond_to do |format|
      if mediator_params[:accept] || mediator_params[:update]
        if @mediator.update(mediator_params)
          format.html { redirect_to @mediator, notice: 'Mediator was successfully updated.' }
          format.json { render :show, status: :ok, location: @mediator }
        else
          format.html { render :edit }
          format.json { render json: @mediator.errors, status: :unprocessable_entity }
        end
      elsif mediator_params[:reject]
        @user = mediator.user
        @user.change_lvl('Rejected')
        @mediator.destroy
        format.html { redirect_to admin_dashboard_pending_approval_path, notice: 'Mediator has been 
        rejected' }
        format.json { head :no_content }
      end
    end
  end

编辑.html.erb

<% if user_signed_in? && current_user.is_admin? && @mediator.summary.nil? %>
    <%= render 'interview', mediator: @mediator %>
<% else %>
    <%= render 'form', mediator: @mediator %>
<% end %>

<%= link_to 'Show', @mediator %> |
<%= link_to 'Back', mediators_path %>

_interview.html.erb 部分

<h1> Interview with <%= mediator.user.firstname %> </h1>

    <div class="field">
        <%= form.label :summary, "Interview Summary" %>
        <%= form.text_area :summary %>
    </div>

    <div class="actions">
        <%= form.submit "Accept", name: 'accept' %>
        <%= form.submit "Reject", name: 'reject' %>
    </div>

但是,尽管已经为每种情况指定了格式类型,但我仍然收到“未知格式”错误,就像大多数关于此错误的帖子所建议的那样。

我感觉编辑视图中的条件渲染可能是问题所在,但是当我使用常规表单部分直接编辑中介记录时也会发生错误。

标签: ruby-on-rails

解决方案


推荐阅读