こんにちは、私のアプリケーションで少し問題があります。私は、予約の アプリケーションの私の機能部屋が示されている静的なページを作りました。予約functionroom)これまで私は<%= link_to "add functionrooms", reservation_pages_functionroom_path(@reservation) %>
へのルートは、事前にいただきました!間違っ 非常に感謝感謝未初期化定数予約
ページの静的なページ
class PagesController < ApplicationController
def functionroom
@reservation = Reservation.find(params[:reservation_id])
@function_room = FunctionRoom.all
end
end
を把握傾けるとき は初期化されていない一定の予約を上げます
functionroom.html.erb
<% if notice %>
<p id = "notice"><%= notice%></p>
<%end%>
<h1>functionRooms</h1>
<%@function_room.each do |functionroom|%>
<h3><%= functionroom.name%></h3>
<p><%= number_to_currency(functionroom.price)%></p>
<%= button_to 'add function room',
reservation_reservation_function_room_path(:function_room_id =>
functionroom), :method => :post,:remote => true%>
<%end%>
reservation_contoller.rb
def index
@reservations = Reservation.all
end
def show
@reservation = Reservation.includes(:reservation_function_rooms =>
:function_room,:reservation_package => :package).find(params[:id])
end
class ReservationFunctionRoomsController < InheritedResources::Base
def show
@reservation_function_room =
ReservationFunctionRoom.find(params[:id])
end
def new
@reservation_function_room = ReservationFunctionRoom.new
end
def create
@reservation = Reservation.find(params[:reservation_id])
function_room = FunctionRoom.find(params[:function_room_id])
@reservation_function_room =
@reservation.add_function_room(function_room.id)
if @reservation_function_room.save
redirect_to @reservation, :notice => "function room successfuly
added"
end
end
end
経路
get "pages/menu"
resources :reservation_function_rooms
resources :services
resources :reservations do
get "pages/functionroom"
end
resources :reservation_packages
resources :package_line_items
resources :packages do
resources :package_crews
end
resources :function_rooms
reservation.rb
class Reservation < ActiveRecord::Base
has_one :reservation_package
belongs_to :service
has_many :reservation_function_rooms
has_many :package_line_items
has_many :menus , :through => :package_line_items, :uniq => true
has_many :function_rooms, :through =>:reservation_function_rooms
def add_function_room(function_room_id)
current_function_room =
reservation_function_rooms.find_by_function_room_id(function_room_id)
if current_function_room
redirect_to @reservation, :notice => "function room already
added"
else
current_function_room =
reservation_function_rooms.build(:function_room => function_room_id)
current_function_room.price =
current_function_room.function_room.price
end
current_function_room
end
end
予約/ show.html.erb
<p id="notice"><%= notice %></p>
<p>
<b>Name:</b>
<%= @reservation.name %>
</p>
<%= display_package @reservation%>
<p>
<b>Address:</b>
<%= @reservation.address %>
</p>
<p>
<b>Contact:</b>
<%= @reservation.contact %>
</p>
<p>
<b>Date:</b>
<%= @reservation.date %>
</p>
<p>
<b>Timestart:</b>
<%= @reservation.timeStart %>
</p>
<p>
<b>Timeend:</b>
<%= @reservation.timeEnd %>
</p>
<p>
<b>Numguest:</b>
<%= @reservation.numGuest %>
</p>
<p>
<%= link_to "add functionrooms", reservation_pages_functionroom_path(@reservation) %>
</p>
<table>
<tr>
<th>Function room</th>
<th>Price</th>
</tr>
<% @reservation.reservation_function_rooms.each do |room|%>
<tr>
<td><%= room.function_room.name%></td>
<td><%= room.function_room.price%></td>
</tr>
<%end%>
</table>
<%= link_to 'Edit', edit_reservation_path(@reservation) %> |
<%= link_to 'Back', reservations_path %>
何が必要な場合は、事前に感謝を気軽に:)
詳細を入力せずに、コードに大きな誤りがあることがあります。 'redirect_to @reservation ... ' – Zheileman
私は既にその行を削除しようとしましたが、add_functionrommメソッドを使用しないようにしましたが、返信用の同じ感謝の言葉は – Led
です'uninitialized constant Reservations'はあなたのコードのどこかに型があり、Reservation(あなたのモデル名)ではなくReservations上のクラスメソッドを呼び出そうとしていることを教えてくれます。あなたのコードを「予約」するためのグローバル検索を行い、「予約」ではなく「予約」を参照している場所を探します。 –