我目前正在嘗試使用RoR製作一個網球網站。該網站有一個後端,目前在數據庫中有兩個表格,即用戶和事件。我試圖在兩個表格之間建立一個has_many關係,然後製作一個讓用戶註冊這些不同事件的表單。我很接近,但我一直運行到這個錯誤,我認爲:未定義的方法`id'爲零:NilClass
undefined method `id' for nil:NilClass
<%= link_to event.title, event %>
| <%= link_to "delete", event, method: :delete %>
<%= form_for(current_user.relationships.build(event_id: @user.id)) do |f| %>
<div><%= f.hidden_field :event_id %></div>
<%= f.submit "Sign up", class: "btn btn-large btn-primary" %>
<% end %>
這裏是我的人際關係控制器
class RelationshipsController < ApplicationController
def create
@relationship = Relationship.new(relationship_params)
@user = User.find(params[:relationships][:event_id])
current_user.follow!(@user)
respond_to do |format|
format.html { redirect_to @user }
end
end
end
我的事件控制器的相關部分:
def new
@event = Event.new
end
private
def event_params
params.require(:event).permit(:title, :Venue, :Time, :Date)
end
不知道如何解決這個錯誤,任何幫助將不勝感激。
檢查您的用戶正在填充。它看起來不是因爲它說它是零。 –
我目前以用戶身份登錄,並且在我的用戶表中有100個用戶。 – user3494239
這很好,但確保它實際上正在加載。在您的控制器中將params [:relationships] [:event_id]放入控制檯。通過導航控制檯 –