Ruby on rails 嵌套属性不';无法在可访问的属性中显示
我有一个嵌套属性message.rbRuby on rails 嵌套属性不';无法在可访问的属性中显示,ruby-on-rails,nested-forms,nested-attributes,attr-accessible,authenticity-token,Ruby On Rails,Nested Forms,Nested Attributes,Attr Accessible,Authenticity Token,我有一个嵌套属性message.rb class Message < ActiveRecord::Base belongs_to :trip attr_accessible :name, :email, :subject, :body end 您能否确认消息模型已保存到数据库中?例如,使用rails控制台rails c。路由文件是否也包含嵌套资源?(此处示例:)是的,消息通过控制台保存在db中,并且我的路由文件包含嵌套资源…仍然无法通过此获取..我的意思是,在
class Message < ActiveRecord::Base
belongs_to :trip
attr_accessible :name, :email, :subject, :body
end
您能否确认消息模型已保存到数据库中?例如,使用rails控制台
rails c
。路由文件是否也包含嵌套资源?(此处示例:)是的,消息通过控制台保存在db中,并且我的路由文件包含嵌套资源…仍然无法通过此获取..我的意思是,在通过表单创建消息后,您应该从控制台检查它是否确实在数据库中。
class Trip < ActiveRecord::Base
has_many :messages
accepts_nested_attributes_for :messages, :allow_destroy => true
attr_accessible :messages_attributes
end
class MessagesController < ApplicationController
def create
@trip = Trip.find(params[:trip_id])
@message = @trip.messages.create(params[:message])
redirect_to trip_path(@trip)
end
end
<%= form_for([@trip, @trip.messages.build]) do |f| %>
<div class="field">
<%= f.label :name%><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :subject %><br />
</div>
<div class="field">
<%= f.label :body %><br />
<%= f.text_area :body %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<h2>Messages</h2>
<% @trip.messages.each do |message| %>
<p>
<b>NAme:</b>
<%= message.name %>
</p>
<b>Email:</b>
<%= message.email %>
</p>
<b>Subject:</b>
<%= message.subject %>
</p>
<b>Message:</b>
<%= message.body %>
</p>
<% end %>
resources :trips do
resources :messages
end