首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rails中更改列名后出现未定义的方法错误

在rails中更改列名后出现未定义的方法错误
EN

Stack Overflow用户
提问于 2017-07-06 12:19:13
回答 1查看 945关注 0票数 2

我刚刚在我的床模型中将一列'bedNumber‘更改为' bed_number’,并且我已经更改了控制器和输入字段中的许可,但我仍然收到错误消息“undefined method‘beds method’bedNumber‘for # to mean? bed_number bed_number? bed_number=”。有没有人能帮我调试一下?索引文件使用新的列名工作得很好,唯一的问题是添加和编辑。

这是我的床控制器:

代码语言:javascript
复制
class BedsController < ApplicationController
  before_action :set_bed, only: [:show, :edit, :update, :destroy]

  # GET /beds
  def index
    @beds = Bed.all
  end

  # GET /beds/1
  def show
  end

  # GET /beds/new
  def new
    @bed = Bed.new
  end

  # GET /beds/1/edit
  def edit
  end

  # POST /beds
  def create
    @bed = Bed.new(bed_params)

    if @bed.save
      redirect_to @bed, notice: 'Bed was successfully created.'
    else
      render :new
    end
  end

  # PATCH/PUT /beds/1
  def update
    if @bed.update(bed_params)
      redirect_to @bed, notice: 'Bed was successfully updated.'
    else
      render :edit
    end
  end

  # DELETE /beds/1
  def destroy
    @bed.destroy
    redirect_to beds_url, notice: 'Bed was successfully destroyed.'
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_bed
      @bed = Bed.find(params[:id])
    end

    # Only allow a trusted parameter "white list" through.
    def bed_params
      params.require(:bed).permit(:bed_number, :description, :room_id)
    end
end

下面是我的模式文件:

代码语言:javascript
复制
create_table "beds", force: :cascade do |t|
    t.string   "bed_number"
    t.string   "description"
    t.integer  "room_id"
    t.datetime "created_at",  null: false
    t.datetime "updated_at",  null: false
    t.index ["room_id"], name: "index_beds_on_room_id", using: :btree
  end

下面是我的输入视图:

代码语言:javascript
复制
= simple_form_for(@bed) do |f|
  = f.error_notification

  .form-inputs
    = f.input :bed_number, placeholder: 'e.g., Bed-10, Bed-12...etc'
    = f.input :description, placeholder: 'e.g., 1m*2m...etc'
    - if Room.any?
      = f.association :room, default: Room.first.name
    - else
      = f.association :room, prompt: 'Please create a room', disabled: true
      = "No room available yet! Please create one by "
      = link_to 'CLICKING HERE', new_room_path

  .form-actions
    = f.button :submit, class: "btn btn-success"
EN

回答 1

Stack Overflow用户

发布于 2017-07-06 12:33:01

Lol...turned out我忘了在模型文件的验证中更改列名。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44939737

复制
相关文章

相似问题

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