2015-10-13 104 views
-1

我试图在Rails视图中创建一个新页面。未初始化的常量{“contrller name”}控制器

我的看法是:历史/ index.html.erb

我的控制器:process_controller.rb

我想创建新页面:histories_paid_out

在我的routes.rb ,我有:

get "process/histories_paid_out" => "process/histories_paid_out", :as => "histories_paid_out" 

在我process_controller.rb,我有:

def histories_paid_out() 
    payments = Payments.all 
    end 

然后终于我打电话像这样在我看来控制器:

<% @histories.each do |history| %> 
    <%= link_to 'View paid out payments', histories_paid_out_path() %> 
<% end %> 

但是,当我cliked“查看支付付款”链接,我的Rails应用程序给了我这个错误:

enter image description here

怎么了?这太奇怪了,因为我认为我的配置和设置已经正确。

+0

您的模特通常是单数,而不是复数。尝试'Payment.all'没有“s” – AbM

+0

[未初始化的常量“控制器名称”](http://stackoverflow.com/questions/13115662/uninitialized-constant-controller-name)可能重复。另外,我认为你的问题标题有误。 – vgoff

回答

2

您应该编写模型的单数版本。试试这个:

def histories_paid_out() 
    payments = Payment.all 
end 

你也将需要在一些地方定义histories变量。

最后,payments将不会在您的视图中可用,除非通过调用@payments来改变范围。