我注意到 Rails 的模式就像一行代码在被删除后仍在编写,我认为这可能与过多地更改其默认值有关。我有两个例子。
首先,我在我的配置文件中设置了 config.force_ssl => true (一个重大错误),然后在我通过脚本标签引入 api 的页面上立即收到错误:
我的服务器给了我一个错误,因为输入的响应长度未知。我尝试在控制器中启用流式传输,但失败了。我什至尝试设置 config.force_ssl => false,但这也没用。因此,我删除了 config.force_ssl => true 行,但在 Firefox 中,出现错误的页面继续路由到“https://”url,然后给我同样的错误。Chromium 没有,所以我改用它,但直到今天,我仍然无法在 Firefox 中加载页面而不会出现错误。
现在来说第二个问题。最近,我创建了一个模型,我想在其中创建一个具有四个参数的自定义初始化方法。
协会.rb
def initialize(tag_index, relative_index, type, relevance)
#assigning variables
end
在我的控制器中,我相应地分配了这些。
tags_controller.rb
a = Association.new(id, tag_two.id, type, relevance)
立即,我得到一个错误,我有 4 个 2 个参数。认为这只是挑剔的轨道,我带走了“类型”和“相关性”。但是,现在,我收到一条错误消息,告诉我没有方法“check_validity!” 对于第 30 类:Fixnum。所以,我完全删除了初始化函数,就像以前一样,Rails 拒绝识别代码行已被删除,当我为 Association.new 输入参数时给我错误,并告诉我我在没有参数时丢失了参数根本不输入任何内容。
如果有人可以帮助解决一些小问题,例如如何使用 ssl 修复响应长度错误,或者如何处理“check_validity!” 方法,那就太好了。不过,如果有人能解释为什么 Rails 拒绝删除旧代码,那就更好了。这让我感到非常沮丧,我在这些论坛上都找不到任何关于如何解决它的信息。
非常感谢!