未定义的方法 `page_leads' + 控制器显示方法
undefined method `page_leads' + controller show method
我正在尝试创建一个潜在客户列表并创建一个 link 来显示每一个详细信息。所以我创建了一个这样的控制器:
class LeadsController < ApplicationController
def index
@leads = Leads.all
end
def show
@leads = Leads.find(params[:id])
end
def delete
end
private
def lead_params
params.require(:lead).permit(:name,:familyname,:email,:mmobile)
end
end
和如下路线:
Rails.application.routes.draw do
root 'pages#home'
get 'pages/home' => 'pages#home'
get 'leads/index'
resource :leads
get 'leads/:id/show'=> 'leads#show',:as => :leads_show end
但是有一个问题和一个疑问:
问题是当我写 { Leads.find(params[:id]) }
时,编辑器无法识别 params[:id] 。为什么?
当我想看的时候http://127.0.0.1:3000/leads/index
我看到这样的错误:
#<#:0x36da5f8> 的未定义方法“lead_path”
提取的源代码(第 8 行附近):
<td><%= lead.familyname %></td>
6 <td><%= lead.mobile %></td>
7 <td><%= lead.email %></td>
8 <td><%= link_to 'show' , lead %></td>
</tr>
<% end %>
<p>Find me in app/views/leads/index.html.erb</p>
应该是
@lead = Lead.all
@lead = Lead.find(params[:id])
模型名称应始终为单数,控制器名称为复数
它应该是 resources :leads
,它将创建所有七个操作,如显示、更新、创建等
而且您不必调用 http://127.0.0.1:3000/leads/index
这个 http://127.0.0.1:3000/leads
,这将调用索引页
你能post你的params
吗,这样我们就能知道你为什么没有得到params[:id]
我正在尝试创建一个潜在客户列表并创建一个 link 来显示每一个详细信息。所以我创建了一个这样的控制器:
class LeadsController < ApplicationController
def index
@leads = Leads.all
end
def show
@leads = Leads.find(params[:id])
end
def delete
end
private
def lead_params
params.require(:lead).permit(:name,:familyname,:email,:mmobile)
end
end
和如下路线:
Rails.application.routes.draw do
root 'pages#home'
get 'pages/home' => 'pages#home'
get 'leads/index'
resource :leads
get 'leads/:id/show'=> 'leads#show',:as => :leads_show end
但是有一个问题和一个疑问:
问题是当我写 { Leads.find(params[:id]) }
时,编辑器无法识别 params[:id] 。为什么?
当我想看的时候http://127.0.0.1:3000/leads/index 我看到这样的错误: #<#:0x36da5f8> 的未定义方法“lead_path” 提取的源代码(第 8 行附近):
<td><%= lead.familyname %></td>
6 <td><%= lead.mobile %></td>
7 <td><%= lead.email %></td>
8 <td><%= link_to 'show' , lead %></td>
</tr>
<% end %>
<p>Find me in app/views/leads/index.html.erb</p>
应该是
@lead = Lead.all
@lead = Lead.find(params[:id])
模型名称应始终为单数,控制器名称为复数
它应该是 resources :leads
,它将创建所有七个操作,如显示、更新、创建等
而且您不必调用 http://127.0.0.1:3000/leads/index
这个 http://127.0.0.1:3000/leads
,这将调用索引页
你能post你的params
吗,这样我们就能知道你为什么没有得到params[:id]