我正在尝试创建潜在客户列表并创建链接以显示每个详细信息。所以我创建了一个这样的控制器:
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时 我看到这样的错误: #&lt;#:0x36da5f8&gt;的未定义方法`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>
答案 0 :(得分:1)
应该是
@lead = Lead.all
@lead = Lead.find(params[:id])
模型名称应始终为单数,并且ccontroller名称将为复数
它应该是resources :leads
,它将创建所有七个动作,如show,update,create..etc
而且您不必致电http://127.0.0.1:3000/leads/index
此http://127.0.0.1:3000/leads
,这将调用索引页
您可以发布params
,以便我们了解您未获得params[:id]
的原因