生产错误ActionView :: Template :: Error

时间:2017-04-30 10:19:12

标签: ruby-on-rails ruby model-view-controller

我创建了一个应用程序,用户可以在其中创建Max Rep of weight举重。它在开发中运行良好但是当它进入生产时,当我尝试创建一个新的RM时,它会给我以下错误:

  

8ms完成500内部服务器错误(ActiveRecord:1.0ms)   ActionView :: Template :: Error(#的未定义方法`数量'   RM:0x007ffa2bf0cb48

我想现在为什么以及如何解决这个问题。

新形式的RM:

  <div class="col-md-12 col-md-offset-3">
<%= form_for([@user, @rm]) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <%= f.select :content, ['Back squat', 'Front squat', 'Deadlift',
                          'Sumo Deadlift', 'Sumo Deadlift High Pull',
                          'Power Snatch', 'Power Clean',
                          'Squat Clean', 'Muscle Snatch',
                          'Clean & Jerk', 'Thruster', 'Push Jerk',
                          'Split Jerk', 'Press',
                          'Push press', 'Cluster', 'Overhead Squat']%>



  <%= f.label :quantity, "Peso levantado" %>
  <%= f.number_field :quantity %>

  <%= f.hidden_field :user_id, value: current_user.id %>

  <%= f.submit "Crear", class: "btn btn-primary" %>
<% end %>

RM控制器:

class RmsController < ApplicationController
  before_action :logged_in_user, only: [:create, :destroy]
  before_action :load_user, only: [:create, :destroy]

  def new
    @rm = Rm.new
    @user = User.find(params[:user_id])

  end

  def create
    @rm = @user.rms.build(rms_params)
    if @rm.save
      flash[:success] = "Repeticion maxima creada"
      redirect_to user_rms_path
    else
      render 'new'
    end
  end

  def index
    @rms = Rm.where(user_id: params[:user_id])
  end

  def destroy
    @user = User.find(params[:user_id])
    Rm.find(params[:id]).destroy
    flash[:success] = "Repeticion maxima eliminada"
    redirect_to user_rms_path
  end


  private
    def rms_params
      params.require(:rm).permit(:user_id, :content, :quantity)
    end

    def load_user
      @user = User.find(params[:user_id])
    end
  end

1 个答案:

答案 0 :(得分:0)

您可以运行rails db:migrate:status以查看是否有一些待定迁移。

或者,如果您有任何机会忘记添加该列,您可以使用rails控制台(我认为最快的方式)检查模型是否具有此类属性,您可以运行heroku run rails console然后在内部检查Rm.new并查看这些属性是否与您的实际代码一致。