事件 ID 为零
Event id is nil
我正在尝试连接我的页面,以便用户拥有一个显示页面,一旦他们到达显示页面,他们就会看到事件。也可以点击事件,一旦点击该事件,它就会直接进入该事件显示页面。我得到的错误是
No route matches {:action=>"show", :controller=>"events", :id=>nil}
我的活动表单如下所示:
<span class="name">EventName: <%= link_to(event.name, controller: "events", action: "show", id: @event) %></span>
<span class="partycode">PartyCode:<br><%= event.partycode %></span>
这是我的事件控制器:
class EventsController < ApplicationController
def show
@event = Event.find(params[:id])
end
def create
@event = current_user.events.build(event_params)
if @event.save
flash[:success] = "Event Created!"
redirect_to root_url
else
render 'welcome#index'
end
end
def destroy
end
private
def event_params
params.require(:event).permit(:name, :partycode)
end
end
如果您需要更多代码来解决问题,请告诉我我的错误出现在第一行的事件表单中。这真的很令人沮丧,因为这应该是一项简单的任务。
尝试改变
<%= link_to(event.name, controller: "events", action: "show", id: @event) %>
至
<%= link_to(event.name, controller: "events", action: "show", id: event.id) %>
(注意模板中缺少的@)。
使用 event_path(@event)
.
等路径助手怎么样?
您的视图将变为:
<%= link_to(@event.name, event_path(@event) %>
我正在尝试连接我的页面,以便用户拥有一个显示页面,一旦他们到达显示页面,他们就会看到事件。也可以点击事件,一旦点击该事件,它就会直接进入该事件显示页面。我得到的错误是
No route matches {:action=>"show", :controller=>"events", :id=>nil}
我的活动表单如下所示:
<span class="name">EventName: <%= link_to(event.name, controller: "events", action: "show", id: @event) %></span>
<span class="partycode">PartyCode:<br><%= event.partycode %></span>
这是我的事件控制器:
class EventsController < ApplicationController
def show
@event = Event.find(params[:id])
end
def create
@event = current_user.events.build(event_params)
if @event.save
flash[:success] = "Event Created!"
redirect_to root_url
else
render 'welcome#index'
end
end
def destroy
end
private
def event_params
params.require(:event).permit(:name, :partycode)
end
end
如果您需要更多代码来解决问题,请告诉我我的错误出现在第一行的事件表单中。这真的很令人沮丧,因为这应该是一项简单的任务。
尝试改变
<%= link_to(event.name, controller: "events", action: "show", id: @event) %>
至
<%= link_to(event.name, controller: "events", action: "show", id: event.id) %>
(注意模板中缺少的@)。
使用 event_path(@event)
.
您的视图将变为:
<%= link_to(@event.name, event_path(@event) %>