【问题标题】:Ruby on Rails Simple Forms ErrorRuby on Rails 简单表单错误
【发布时间】:2016-08-21 16:53:35
【问题描述】:

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

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

这是我的错误: 订单中的 NoMethodError#new 显示 /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' %>

非常感谢,希望我们能解决!

【问题讨论】:

  • 愚蠢的问题 - 您是否进行了迁移?
  • 感谢您的回答。是的,我做了:rake db:migrate。您认为可能是什么问题?
  • 你能提供完整的堆栈跟踪伙伴吗?
  • 您的代码看起来不错。我希望你已经完成了rails g simple_form:install。从错误来看,gem 似乎无法理解在哪里寻找模型。如果您重新排序输入,您可以验证这一点。对于不同的属性,它会显示相同的错误。
  • 试试 rake db:drop db:migrate

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


【解决方案1】:

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

【讨论】:

  • 是的,但它只能在无法解决问题的本地计算机上工作
  • 您是否在 gemfile 中安装了 gem 'simple_form' 并运行 bundle install
  • 我做了 sudo gem install simple_form 和 rails g simple_form:install ,但它仍然无法正常工作。我想我应该提到我正在使用云 IDE Cloud9。
  • 另外,还有一些可能很重要的事情。当我运行 rails g simple_form:install 命令时,它返回给我:“在进程 17166 SimpleForm 3 中通过 Spring 预加载器运行支持 Bootstrap 和 Zurb Foundation 5。如果您想要与这些框架之一兼容的配置,请重新- 使用 --bootstrap 或 --foundation 作为选项运行此生成器。"这是一个错误吗?
  • @АлександрБоровой - 我的 gemfile:source 'https://rubygems.org' gem 'rails', '4.2.5' gem 'sqlite3' gem 'sass-rails', '~&gt; 5.0' gem 'uglifier', '&gt;= 1.3.0' gem 'coffee-rails', '~&gt; 4.1.0' gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder', '~&gt; 2.0' gem 'simple_form', '~&gt; 3.2', '&gt;= 3.2.1' gem 'bootstrap-sass', '~&gt; 3.3.6' gem 'sdoc', '~&gt; 0.4.0', group: :doc group :development, :test do gem 'byebug' end group :development do gem 'web-console', '~&gt; 2.0' gem 'spring' end
猜你喜欢
  • 1970-01-01
  • 2018-12-20
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-12
  • 2015-02-01
相关资源
最近更新 更多