出于某种原因,当我打电话给.new时,我在rails中的一个模型返回nil。这只是控制器中的一个问题。当我尝试控制台时,它返回一个具有nil属性的对象,正如我所期望的那样。我怀疑问题出在我的控制器中,但我不知道。
当我打电话给.all时也会发生这种情况。同样,我可以从命令行手动执行这些命令而不会出现问题。
这是控制器代码:
编辑:看起来我的其他几个模型的行为方式相同。这个问题显然比这个控制器/模型更深。我对rails很新,所以我不确定在哪里调试它。
EDIT2:我的一位聪明的朋友帮我弄清楚甚至没有调用控制器动作。然而,我之前的过滤器是,但它不是重定向。所以,不知何故,找到了正确的控制器,但没有调用适当的操作。
我的服务器日志 SAYS 正在处理正确的操作,但实际的函数体似乎没有执行。
答案 0 :(得分:1)
我认为您的问题是所有的方法EventsController都被声明为私有。私有方法不能被称为操作 - 因此您遇到了问题。
尝试将私有声明和redirect_if_not_logged_in移动到文件的末尾,即在destroy方法之后。
有关Ruby中公共/私有/受保护工作的更多信息,请阅读:http://www-users.math.umd.edu/~dcarrera/ruby/0.3/chp_04/features.html