Ruby on rails 未定义的方法'to#u key';对于#<;ActiveRecord::关系[]>;你是说?设置为
这是我的表格Ruby on rails 未定义的方法'to#u key';对于#<;ActiveRecord::关系[]>;你是说?设置为,ruby-on-rails,Ruby On Rails,这是我的表格 <%= form_for @customer do |f| %> <ul> <li><%= f.text_field :NameAndFamilyName,class:'1', placeholder:'نام و نام خانوادگی' %></li> <li><input class="1" placeholder="نام و نام خ
<%= form_for @customer do |f| %>
<ul>
<li><%= f.text_field :NameAndFamilyName,class:'1', placeholder:'نام و نام خانوادگی' %></li>
<li><input class="1" placeholder="نام و نام خانوادگی"></li>
<li><input class="1" placeholder="تلفن همراه"></li>
<li><input class="1" placeholder="آدرس ایمیل"></li>
<li><input placeholder="موضوع پیام"></li>
<li><textarea placeholder="متن پیام"></textarea></li>
<li>
<button>ارسال پیام</button>
</li>
</ul>
<% end %>
-
ارسال پیام
这是我的控制器
class CustomerController < ApplicationController
def index
@customer = Customer.all
end
def new
@customer = Customer.new
end
def create
@customer = Customer.new(customer_params)
if @customer.save
redirect_to @customer
else
render 'customer/index'
end
end
end
class CustomerController
这是我的迁移:
class CreateCustomers < ActiveRecord::Migration[5.2]
def change
create_table :customers do |t|
t.string :NameAndFamilyName
t.integer :Phone
t.string :Email
t.string :MessageSubject
t.text :Message
t.timestamps
end
end
end
class-CreateCustomers
如果代码没有运行,我应该怎么做
我想创建表单,但这个错误表明一切对我来说都是正常的,但它没有运行。我有一个错误:
undefined method `to_key' for #<ActiveRecord::Relation []>
Did you mean? to_set to_ary
未定义的方法“to_key”#
你是说?设置为
我假设您在索引操作中有此错误
@customer = Customer.all
它返回的不是一个客户,而是客户列表。因此,我建议将其改为:
def index
@customers = Customer.all
@customer = Customer.new
end
没有控制器,迁移是两次。您可以查看。按照惯例,变量的名称应该是
name\u和\u family\u name
,而不是name和familyName
@Sebastian Palma i editthat@jvillian我不知道你说的“它不工作”是什么意思。我没有特别推荐任何东西。我刚刚注意到,在迁移过程中,变量命名是非常规的。(此外,您的控制器代码仍然缺失。)