0

我对 Rails 很陌生,如果有人回答,将不胜感激..!我无法加载customers_list.html.erb

这是我的客户/index.html.erb

<li><%= link_to "Edit", edit_customers_path(customers) %></li>

这是我的customers_controllers

def edit
render:"customers_list" // customers_list.html.erb in customers view
end

这是我的路线.rb

resources :customers

错误:

undefined local variable or method `customers'
4

1 回答 1

0

首先,index.html.erb是列出客户的正确位置。所以,你不需要customers_list.

#controller
def index
  @customers = Customer.all
end

#view (index.html.erb)
<% @customers.each do |customer| %>
  <%= customer.name %> #assuming customer has the attribute name
<% end %>

如果您尝试编辑一位客户,您可以将其添加到索引视图中的循环中:

<% @customers.each do |customer| %>
  <%= customer.name %>
  <%= link_to 'Edit', edit_customer_path(customer) %>
<% end %>

但是,根据您的<%= link_to "Edit", edit_customers_path(customers) %>,您应该认为:

  • 是什么edit_customers_path?看看这里。您还可以使用rake routes查看路线。

  • 什么是customers?你还没有定义它。

如果你在你的控制器中定义它,你也许可以在你的视图中使用它:

def index
...
@customer = Customer.find(1)
end

在您看来:

<%= link_to 'Edit', edit_customer_path(@customer) %>

我希望它在某种程度上对你有所帮助......

于 2013-06-19T12:24:12.460 回答