未定义的方法 `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]