任何人都可以給我提示如何獲取 spot_id 嗎?

潘巴勃羅

我正在嘗試製作停車場預訂應用程序和一般預訂工作。當我輸入user idspot id然後選擇is_booked現在我希望點列表旁邊的按鈕以相同的方式工作,但我無法獲得該點的 id,如下所示:

    <% @spots.each do |spot| %>
      <tr>
        <td><%= spot.name %></td>
        <td><%= link_to 'Show', spot %></td>
        <td><%= link_to 'Edit', edit_spot_path(spot) %></td>
        <td><%= link_to 'Booking', new_booking_path %></td>
      </tr>
    <% end %>
  </tbody>

目前的路徑是 new_booking 但僅用於預覽,最終它將是 create_booking。

我嘗試了幾種方法,但都沒有奏效,我可以引用所有 ID,但不能引用單個 ID。這是從booking_controller 到new_booking 定義的示例,我給出了以下參數:

@booking = current_user.bookings.build(:spot_id => Spot.ids, :is_booked => true)

我希望我已經清楚地描述了這個問題。我對 ruby​​ 相當陌生,這似乎是一個我不知道如何修復的微不足道的錯誤。請幫忙。

最大限度

解決這個問題的 Rails 方法是創建一個嵌套路由

resources :spots do
  resources :bookings, shallow: true
end

這將創建路徑/spots/:spot_id/bookings,這意味著點 ID 作為 URL 的一部分傳遞。

class BookingsController < ApplicationRecord
  before_action :set_spot, only: [:new, :create, :index]
  before_action :set_booking, only: [:show, :edit, :update, :destroy]

  # GET /spots/1/bookings/new
  def new
    @booking = @spot.bookings.new
  end

  # POST /spots/1/bookings
  def create
    @booking = @spot.bookings.new(booking_params) do |b|
      b.user = current_user
    end
    respond_to do |format|
      if @booking.save
        format.html { redirect_to @booking, notice: "Booking was successfully created." }
        format.json { render :show, status: :created, location: @booking }
      else
        format.html { render :new, status: :unprocessable_entity }
        format.json { render json: @booking.errors, status: :unprocessable_entity }
      end
    end
  end

  private

  def set_spot
    @spot = Spot.find(params[:spot_id])
  end

  def set_booking
    @booking = Booking.find(params[:id])
  end

  def booking_params
    params.require(:booking)
          .permit(:starts_at)
  end
end
# app/views/bookings/new.html.erb
<%= render partial: 'form' %>
# app/views/bookings/_form.html.erb
<%= form_with(model: [@spot, @booking]) |form| %>
  # ...
  <%= form.submit %>
<% end %>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

任何人都可以理解connStateInterface吗?

任何人都可以帮助解析HCL吗?

任何人都可以解释此HashMap行为

Angular如何保护其中包含id且任何人都可以猜到的路由?

任何人都可以逐步解释该过程

任何人都可以不登录就提交

任何人都可以更正此代码吗?

任何人都可以解释以下声明

我如何chmod或chown一个文件,以便世界上的任何人都可以访问它?

任何人都可以处理吗?

任何人都可以帮助我在 intelliJ 中使用 GUI 页面

任何人都可以告诉我如何提高我的网站加载速度?

使用 selenium 时在 android studio 中出错。任何人都可以建议我如何解决这个问题?

任何人都可以请解释我对我的反应 setState new

我对执行流程感到震惊,任何人都可以帮助我

我在 Django admin 中遇到这些错误,任何人都可以帮我这个

使任何人都可以编辑 GitHub 存储库

任何人都可以回答这个问题吗?

我做错的地方,任何人都可以检查我收到了keyerror:1

任何人都可以解释以下程序的输出

任何人都可以通过 PySimpleGUI 帮助我编写代码完成此操作

任何人都可以向我解釋這個自定義反應鉤子函數嗎?

任何人都可以建議一種通過對象鍵對對像數組進行分組的方法,然後根據 JavaScript 中的分組創建一個新的對像數組嗎?

任何人都可以為此代碼建議一個模擬測試嗎?

任何人都可以使用 numpy vstack 幫助我處理我的“for 循環”嗎?

任何人都可以幫助按照 html 結構將樣式設置為如下所示的圖像嗎?是否可以僅使用 CSS 來實現?

Discord - 除了管理員之外的任何人都可以看到機器人內部的代碼嗎?

我不斷收到錯誤“字符串索引超出範圍”我已確保數組具有足夠的索引。任何人都可以看到問題嗎?

任何人都可以帮助我如何编写这行代码。我想在 jsx 中使用 map