1

我尝试执行以下迁移命令:

rails g migration add_user_to_posts user_id:integer

但我收到了这个错误:

/mapper.rb:233:in `default_controller_and_action': missing :action (ArgumentError)
/mapper.rb:116:in `normalize_options!'

如何纠正这些错误?

4

4 回答 4

2

这是由不正确的路由引起的 - 请检查您的 config/routes.rb 检查是否有任何路由定义不正确

于 2013-10-15T08:11:09.410 回答
1

您遇到的问题与路线有关。

检查您的routes.rb,并且有一个控制器及其操作的映射。因此,如果它不正确,错误将被抛出为:

`default_controller_and_action': missing :action (ArgumentError)

例如:

常见的错误-

root :to => "home/index"

正确的方式-

root :to => "home#index"

查看帖子:默认控制器和操作

如..所示,

该错误表示默认控制器缺少操作。

于 2013-10-15T11:12:48.720 回答
0

我认为您的路线有问题。

确保

根路径

喜欢,

根 :to => 'home#index'

于 2013-10-15T10:58:17.767 回答
0

编辑:@Ved Prakash 的答案是正确的,经过更多研究后我发现我的答案不够好。我在这里只留下 Rails 4.x 的相关说明

当您开始使用 Rails 4.x 时,您有一个添加引用的新方法:

rails 生成迁移 AddUserRefToProducts user:references

于 2013-10-15T08:12:28.307 回答