首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoMethodError in Insurances#new

NoMethodError in Insurances#new
EN

Stack Overflow用户
提问于 2015-09-01 19:47:43
回答 1查看 47关注 0票数 0

我需要第二双眼睛。我不太确定我错过了什么。

我创建了一个新的脚手架rails generate scaffold Insurance string:name,然后是一个rake db:migrate。但是,当我转到新创建的页面并选择“”时,会得到以下错误消息。

在/home/ubuntu/workspace/app/views/insurances/_form.html.erb中显示第5行的NoMethodError :未定义的#提取源的“保险”方法(第5行周围):

代码语言:javascript
复制
<div class="form-group">
      <%= f.label :insurance %><br>
      <%= f.text_field :insurance, class: "form-control" %>
    </div>
    <div class="actions">
      <%= f.submit class: "btn btn-primary" %>

我肯定这是件容易的事,我只是不明白。

保险主计长:

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

  respond_to :html

  def index
    @insurances = Insurance.all
    respond_with(@insurances)
  end

  def show
    respond_with(@insurance)
  end

  def new
    @insurance = Insurance.new
    respond_with(@insurance)
  end

  def edit
  end

  def create
    @insurance = Insurance.new(insurance_params)
    @insurance.save
    respond_with(@insurance)
  end

  def update
    @insurance.update(insurance_params)
    respond_with(@insurance)
  end

  def destroy
    @insurance.destroy
    respond_with(@insurance)
  end

  private
    def set_insurance
      @insurance = Insurance.find(params[:id])
    end

    def insurance_params
      params.require(:insurance).permit(:name)
    end
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-01 19:59:49

在白色属性中似乎没有insurance (在insurance_params中),而且很可能没有在数据库中定义这样的字段(以及为什么要定义与模型名称相同的属性?:),

因此,以下内容引发了一个错误:

代码语言:javascript
复制
      <%= f.label :insurance %><br>
      <%= f.text_field :insurance, class: "form-control" %>

你可能想要的

代码语言:javascript
复制
      <%= f.label :name %><br>
      <%= f.text_field :name, class: "form-control" %>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32339778

复制
相关文章

相似问题

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