我应该对Rails弃用警告感到不满吗?

时间:2009-06-13 16:35:28

标签: ruby-on-rails model warnings partial deprecated

在处理您不熟悉的任何框架时,我发现尝试理解并清理任何无关的警告是合情合理的,只要这样做,以便您更有可能在发生时发现真正的错误

我最近得到的那个是:

 DEPRECATION WARNING: @model will not longer be implicitly assigned to model

在我目前的代码库中似乎没有破坏任何东西,但我担心的是因为我完全不理解这个警告。我认为通常最好不要在你的部分中使用@model。

尽管如此,每当此特定“模型”出现在其部分中时,此警告就会被调用。

我应该如何明确指定它?我在一个控制器中创建了@model,然后用一个集合调用partial(理解为'railsy'方法。)

任何人都可以向我解释这里发生了什么,以及在这种情况下最佳做法是什么?我还没有惊慌失措,但是几英里的警告往往会淹没我应用程序的实际输出。

2 个答案:

答案 0 :(得分:3)

在挖出这张灯塔票之后,我不会太在意;爱好。

Inappropriate "@variable will no longer be implicitly assigned to variable" message

答案 1 :(得分:1)

在2.3.5中,是的,您应该修复您的代码。你曾经能够做到这一点

@rocket_launcher = RocketLauncher.find(params[:id])
page.insert_html :bottom, 'ajax_this', :partial => 'rocket_launcher'

并且很好(@rocket_launcher在部分中被选中)。不再。现在你必须做

page.insert_html :bottom, 'ajax_this', :partial => 'rocket_launcher', :locals=>{:rocket_launcher=>@rocket_launcher}

那说,你的例子

<%=render :partial => "rocket_launcher", :collection => @rocket_launchers %>

很酷,2.2.x中看到的弃用警告现在应该修复(在2.3.5中)。