0

何日も頭を悩ませていた機能を実装しようとしています (rails newb)。

ユーザーで構成されたアプリと、特別なユーザーとの予約をスケジュールする機能があります。(1) 「予約」オブジェクトを作成し、(2) 予約オブジェクトの子 (booking.user = 特別ユーザー) を作成する必要がある特別ユーザーのプロファイル ページに「スケジュール予約」リンクを配置しました。この 2 番目の部分は、後でのみ booking.users が予約オブジェクトにアクセスできるようにするためのものです。

以下は私の失敗した試みです。

No route matches [GET] "/users/2/book_person"

レーキ ルート:

book_person_user POST /users/:id/book_person(.:format)

ルート:

resources :users do
 member do
  post :book_person, :controller => "bookings", :action => "book_person"
 end
end

予約コントローラー

def book_person
@booking = Booking.new
@booking.name = "Booking with #{params[:id]}"
if @booking.save
  @user = User.find(params[:id])
    if not @user.participant_of?(@booking)
      @booking.users << @user
      flash[:notice] = 'User was successfully added to booking'
    else
      flash[:error] = 'User was already part of booking'
    end
    redirect_to @booking 
else
  flash[:notice] = "Could not add booking"
  redirect_to @booking
end

終わり

そのユーザーを予約するためのユーザー プロフィール ページのリンク:

<%= link_to "Book Sessions", book_person_user_path, class: "btn btn-large" %>
4

1 に答える 1

1

これを試して:

<%= link_to "Book Sessions", book_person_user_path, :method => :post, class: "btn btn-large" %>
于 2013-03-12T18:38:22.383 に答える