неинициализированная константа - PullRequest
0 голосов
/ 27 марта 2012

Привет, у меня проблемы с приложением. Я новичок в разработке ROR. я сделал статическую страницу, где мои залы моего бронирования приложение показано и может быть добавлено в booking_function_room (позиция резервирования roomroom) it вызывает неинициализированную константу Reservation, когда я направляюсь к <%= 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

1018 * маршруты *

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

если что-то понадобится, не стесняйтесь спрашивать заранее:)

1 Ответ

0 голосов
/ 12 августа 2016

Я знаю, что прошло 4 года, но я столкнулся с той же проблемой, и я думаю, что, возможно, нашел, откуда она взялась.

У вас есть зависимость "has_one :servation_package", и ниже у вас есть "resources: booking_packages"

Я думаю, что здесь проблема "s": либо создайте один ресурс, либо отношение has_many.Вот почему он не может его найти.Вот как я исправил свою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...