Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby未定义的方法`错误';与协会有许多->;属于_Ruby On Rails_Rails Activerecord - Fatal编程技术网

Ruby on rails Ruby未定义的方法`错误';与协会有许多->;属于

Ruby on rails Ruby未定义的方法`错误';与协会有许多->;属于,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,我已经检查了200次代码。也许我能帮你找到一个打破一切的巫师。我创建一个房间条目,该条目与酒店连接,但也与帐户连接。我写数据没有任何问题。直到我没有通过验证传递数据。当验证也完成时,数据被保存,但当我不想满足他们的期望时,很自然地会闪现错误,但遗憾的是我找不到错误方法 Room::ActiveRecord_Associations_CollectionProxy:0x00007ff8b2a36530的未定义方法“错误” <% if @

我已经检查了200次代码。也许我能帮你找到一个打破一切的巫师。我创建一个房间条目,该条目与酒店连接,但也与帐户连接。我写数据没有任何问题。直到我没有通过验证传递数据。当验证也完成时,数据被保存,但当我不想满足他们的期望时,很自然地会闪现错误,但遗憾的是我找不到错误方法

Room::ActiveRecord_Associations_CollectionProxy:0x00007ff8b2a36530的未定义方法“错误”

                            <% 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方法