我正在尝试使用两个模型中的以下字段创建图书咨询表
用户模型 - 名字 - 姓 - 电子邮件 - contact_number
消息模型
呈现的所需表单应该向用户显示所有用户模型字段以及文本区域,该区域将是:消息模型的message_text。
用户模型的代码
class User < ActiveRecord::Base
has_many :messages
validates :first_name , presence: true
validates :last_name , presence: true
validates :email, presence: true
validates :contact_number,presence: true
accepts_nested_attributes_for :messages
end
消息模型代码
class Message < ActiveRecord::Base
validates :message_text, presence: true
belongs_to :user , :class_name => 'User', :foreign_key => 'id'
end
呈现表单的User的索引控制器类似于
def index
@users = User.all
@user = User.new
@user.messages.build
end
视图文件类似于
<%= form_for(@user) do |f| %>
<div class="form-group">
<%= f.label :first_name %>
<%= f.text_field :first_name %>
</div>
<div class="form-group">
<%= f.label :last_name %>
<%= f.text_field :last_name %>
</div>
<div class="form-group">
<%= f.label :email %>
<%= f.text_field :email %>
</div>
<div class="form-group">
<%= f.label :contact_number %>
<%= f.text_field :contact_number %>
</div>
<div class="form-group">
**the fields_for does not get rendered at all into the HTML**
<%= f.fields_for :messages do |ff| %>
<%= ff.label :message_text %>
<%= ff.text_field :message_text %>
<% end %>
</div>
<div class="btn primary-btn">
<%= f.submit 'Book Free Consultation'%>
</div>
渲染所有其他字段。任何人都可以帮我找出错误。提前谢谢
答案 0 :(得分:0)
您的迁移文件应如下所示
class DeviseCreateUsers < ActiveRecord::Migration
def change
create_table(:users) do |t|
t.string :first_name
t.string :last_name
t.string :email
t.string :contact_number
end
end
end
class CreateMessages < ActiveRecord::Migration
def change
create_table(:messages) do |t|
t.string :message_text
t.references :user, index: true
end
end
end