Ruby on Rails简单表单错误

时间:2016-08-21 02:10:44

标签: ruby-on-rails ruby ruby-on-rails-3

我是Ruby和Ruby on Rails的初学者,2天前开始。 我第一次尝试构建一个基本应用程序,当我尝试使用simple_forms gem时出现此错误。

在我向您展示代码之前,我想指定如果我删除simple_forms代码,它会起作用,它会将我重定向到/ orders / new页面并显示HTML页面。

这是我的错误: Orders#new中的 NoMethodError 显示/home/ubuntu/workspace/app/views/orders/_form.html.erb,其中第2行引发: 未定义的方法`amazonurl'对于#

我的代码:

的routes.rb

Rails.application.routes.draw do

resources :orders

root 'orders#index'

end

orders_controller

class OrdersController < ApplicationController
    def index
    end

    def new
        @order = Order.new
    end

    def create
        @order = Order.new(order_params)
    end

    private
    def order_params
        params.require(:order).permit(:amazonurl, :dname, :daddress, :dphone)
    end
end

移植

class CreateOrders < ActiveRecord::Migration
  def change
    create_table :orders do |t|

      t.string :amazonurl
      t.text :dname
      t.text :daddress
      t.text :dphone

      t.timestamps null: false
    end
  end
end

表格(_form.html.erb)

<%= simple_form_for @order  do |f| %>
  <%= f.input :amazonurl %>
  <%= f.input :dname %>
  <%= f.input :daddress %>
  <%= f.input :dphone %>
  <%= f.button :submit %>
<% end %>

我的new.html.erb文件

<h1>New Order</h1>
  <%= render 'form' %>

非常感谢,我希望我们明白这一点!

1 个答案:

答案 0 :(得分:0)

首先尝试sudo gem install simple_form,然后rails g simple_form:install。希望它有所帮助