Ruby on rails 在控制器中定义了 7 个参数,
如果我想要更多参数,我可以向控制器添加变量,还是应该创建一个新控制器?
如果我必须创建另一个控制器,我尝试通过以下方式定义它:
创建了控制器/taskseachperson_controller.rb,其中包含:
class TaskseachpersonController < ApplicationController
def index
end
end
helpers/taskseachperson.rb 包含:
module TaskseachpersonHelper
end
views/taskseachperson/index.html.erb 包含:
<h1>Listing tasks</h1>
<table>
<tr>
<th>Name</th>
<th>num of tasks</th>
<th>num tasks left</th>
</tr>
<% end %>
</table>
config/locales/routes.rb 文件包含:
Todo::Application.routes.draw do
resources :tasks
root to: "tasks#index"
resources :taskseachperson
root to: "taskseachperson#index"
end
但是,当我尝试连接到:localhost:3000/taskseachperson
我收到了这个错误:
NoMethodError in TaskseachpersonController#index
undefined method `key?' for nil:NilClass
Rails.root: /home/alon/projects/todo
Application Trace | Framework Trace | Full Trace
Request
Parameters:
None
Show session dump
Show env dump
Response
Headers:
None
如果我必须创建另一个控制器,我的问题是什么?
更新:
我有一个文件:models/person.rb:
class Task < ActiveRecord::Base
attr_accessible :done, :name, :task
end