Ich mache derzeit eine Website in Rails, die dem Benutzer erlauben wird, zu erstellen und Konto und dann, wenn eingeloggt er/sie wird eine Liste aller "Zimmer" in der Datenbank erhalten. Und dann kann der Benutzer einen der Räume buchen. Wie ein Buchungssystem.Raumbuchungssystem Neuling Logik Schienen
Wenn der Benutzer sich anmeldet, wird er zuerst zum Controller Booker Index umgeleitet. Dadurch werden alle Räume aus der Datenbank abgerufen und die Informationen in einer Tabelle angezeigt.
Die Modellsituation ist aufgebaut wie der Benutzer hat has_many Reservierungen, und die Reservierung gehört zu Benutzer.
Also was ich tun möchte ist, dass neben der Tabelle (kann in der gleichen Zeile sein) sollte es einen Klick-Button sein. Und wenn der Benutzer auf die Schaltfläche klickt, werden die Reservierungen erstellt und mit dem Benutzer verknüpft, ohne die aktuelle Seite zu verlassen. Atm das ist, was ich mit (in der index.html.erb) kam
<%= form_for(@new_reservation) do |new_res| %>
<% @all_rooms.each do |r| %>
<tr>
<td><%= r.room %></td>
<td><%= r.room_size %></td>
<td><%= r.building %></td>
<td><%= r.room_description %></td>
<td><%= new_res.submit "Create" %></td>
</tr>
<% end %>
<% end %>
und mein Controller sieht aus wie
class BookerController < ApplicationController
before_action :require_user, only: [:index, :show]
def index
@new_reservation = Reservation.new
@all_rooms = Room.all
end
def create
end
end
und Strecke
Rails.application.routes.draw do
#Log in/Logout functionality
get '/login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
#The start screen
root 'welcome#index'
#The signup
get '/signup' => 'users#new'
get '/book' => 'booker#index'
resources :users
resources :reservations
Was ist Ihre Frage? – sjagr
Wie erreiche ich das so kann ich auf der/Buchseite aus der Zimmerliste eine von ihnen buchen. Die Reservierungen werden also erstellt und mit dem Benutzer verknüpft. Ohne die Seite zu verlassen, möchte ich immer noch, dass sich der Benutzer auf dieser Seite befindet. Wenn er eingeloggt ist, wird er zur Hauptseite. – Labba