当我尝试访问localhost:3000 / home

时间:2017-04-25 03:13:22

标签: ruby-on-rails

我试图访问家庭'我的Rails应用程序页面转到localhost:3000 / home

但是,当我尝试上面的链接时,我收到以下错误消息---但是这对我来说没有意义,因为'类别'只是订单的参数。订单包含类别,商店,商品和其他参数。

我的代码如下。我在这里做错了什么?

Showing /Users/fk/tenence_ai/app/views/tenence/home.html.erb where line #49 raised:

undefined method `category' for #<Order:0x007f8ed99c8500>
Extracted source (around line #49):

47  <div>
48   <%= form_for :order, url: orders_path do |f| %>
49   <%= f.text_field :category,:id=> 'category',:style=>'display:none' %>

ORDERS CONTROLLER

class OrdersController < ApplicationController
    respond_to :html, :json
    def show
        @order = Order.find(params[:id])
        @idx = Order.last.id
        render json: @order
    end
    def create
        @order = Order.new(order_params)
        @order.save
    end
    def edit
      @order = Order.find(params[:id])
    end
    def update
      @order = Order.find(params[:id])
      @order.update(order_params)
    end
   respond_to :html, :json
    private
        def order_params
            params.require(:order).permit(:address,:store,:name,:items,:category,:status,:total,{:item => []},{:price => []})
        end
end

订购模式

class Order < ApplicationRecord
end

相关移民

class CreateOrders < ActiveRecord::Migration[5.0]
  def change
    create_table :orders do |t|
      t.string :name
      t.text :address
      t.string :store
      t.text :items

      t.timestamps
    end
  end
end

1 个答案:

答案 0 :(得分:1)

您似乎想要添加onTouchTap字段:

添加FloatingActionButton很不错,但您还需要在模型中添加category

params.require

attr_accessor :category可用于您不希望直接存储在数据库中的值,并且只存在于对象的生命周期中。