Rails更新方法不将数据保存到数据库

时间:2019-03-12 01:58:56

标签: ruby-on-rails

我有一个来自页面上另一个模型的表单,由于我看到了警报,因此该方法似乎正在触发,但是没有保存数据库数据。

这是控制器代码

  def update
    respond_to do |format|
      if @song_rank.update(song_rank_params)

        format.html { redirect_to "/band_songs", alert: 'Song rank was successfully updated.' }
        format.json { render :show, status: :ok, location: @song_rank }
      else
        format.html { render :edit }
        format.json { render json: @song_rank.errors, status: :unprocessable_entity }
      end
    end
  end

以下是格式的erb / html

<%= form_with(model: song_rank, local: true) do |form| %>
  <% if song_rank.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(song_rank.errors.count, "error") %> prohibited this song_rank from being saved:</h2>

      <ul>
      <% song_rank.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">

    <%= form.select :from, [1, 2, 3], :prompt => 'Rank' %>
    <%= form.submit %>
  </div>

<% end %>

我正在尝试在另一个模型的视图上构建表单并将数据保存到另一个模型。我不确定应该包含哪些其他代码。请让我知道

0 个答案:

没有答案