Ruby on rails Ruby未定义的方法`错误';与协会有许多->;属于
我已经检查了200次代码。也许我能帮你找到一个打破一切的巫师。我创建一个房间条目,该条目与酒店连接,但也与帐户连接。我写数据没有任何问题。直到我没有通过验证传递数据。当验证也完成时,数据被保存,但当我不想满足他们的期望时,很自然地会闪现错误,但遗憾的是我找不到错误方法 Room::ActiveRecord_Associations_CollectionProxy:0x00007ff8b2a36530的未定义方法“错误”Ruby on rails Ruby未定义的方法`错误';与协会有许多->;属于,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,我已经检查了200次代码。也许我能帮你找到一个打破一切的巫师。我创建一个房间条目,该条目与酒店连接,但也与帐户连接。我写数据没有任何问题。直到我没有通过验证传递数据。当验证也完成时,数据被保存,但当我不想满足他们的期望时,很自然地会闪现错误,但遗憾的是我找不到错误方法 Room::ActiveRecord_Associations_CollectionProxy:0x00007ff8b2a36530的未定义方法“错误” <% if @
<% if @room.errors.full_messages.any? %>
<div class="error_explanation">
<h2><%= t('other.errors', :count => @room.errors.full_messages.size) %></h2>
<ul>
<% @room.errors.full_messages.each do |error_message| %>
<li><%= error_message %></li>
<% end %>
</ul>
</div>
<% end %>
我的型号
class Room < ApplicationRecord
belongs_to :account
belongs_to :hotel
has_many :reservations
mount_uploaders :images, ImagesroomUploader
serialize :images, JSON # If you use SQLite, add this line.
validates :name, presence: true
end
class Account < ApplicationRecord
has_many :users, inverse_of: :account, dependent: :destroy
has_many :hotels
has_many :rooms
has_many :offers
has_many :reservations
has_many :widgets
has_many :accountsinvoices
has_many :accountspayments
end
教室
我的观点
<%= form_for(:room, :url => rooms_manages_create_path(), :html => {:id => "form"}) do |f| %>
<% if @room.errors.full_messages.any? %>
<div class="error_explanation">
<h2><%= t('other.errors', :count => @room.errors.full_messages.size) %></h2>
<ul>
<% @room.errors.full_messages.each do |error_message| %>
<li><%= error_message %></li>
<% end %>
</ul>
</div>
<% end %>
<%= render(:partial => "form", :locals => {:f => f}) %>
<div class="text-left">
<%= submit_tag("#{t 'other.actions.save'}", class: 'btn btn-primary') %>
</div>
<% end %>
rooms_管理_创建_路径(),:html=>{:id=>“form”})do | f |%>
@房间.错误.完整信息.大小)%>
“form”,:locals=>{:f=>f})%>
您的创建动作集@room
到集合
@room = @account.rooms
因此,视图中会显示错误消息。相反,试试看
# some code ommitted ...
@room = @account.rooms.create(room_params)
@hotels = @account.hotels.all
if @room.valid?
# some code ommitted ...
您的创建
操作将@room
设置为集合
@room = @account.rooms
因此,视图中会显示错误消息。相反,试试看
# some code ommitted ...
@room = @account.rooms.create(room_params)
@hotels = @account.hotels.all
if @room.valid?
# some code ommitted ...
错误消息告诉您,@room
不是单个模型实例,而是模型实例的集合。但是错误
仅在单个模型实例上定义(例如@room.first
)@fl9 ok,因此如何引用错误以显示它们错误消息告诉您@room
不是单个模型实例,而是模型实例的集合。但是错误
仅在单个模型实例上定义(例如@room.first
)@fl9 ok,那么如何引用错误以显示它们哈哈哈,我尝试了这种方法,但显然是错误的;-)非常感谢,我希望你有一个愉快的一天,而不是@room.valid?我使用了@room.save.valid方法哈哈哈,我试过这种方法,但显然是错的;-)非常感谢,我希望你有一个愉快的一天,而不是@room.valid?我使用了@room.save.valid方法