我有一个具有多任务的项目模型。
在/ tasks / new视图中,我有一个select标签,允许我为新任务选择项目:
<%= f.label :project_id %>
<%= f.select(:project_id, options_from_collection_for_select(@projects, "id", "name")) %><br />
这是在_form.html.erb部分中,也由编辑调用(tasks / 8 / edit)。
然而,在编辑中我得到“当你没想到它时,你有一个零对象!”错误。
我认为这是因为f.select没有从Projects模型调用之前选择的项目。
有没有办法从_form.html.erb进行调用?
非常感谢。
答案 0 :(得分:0)
如果这没有帮助,请发布new.html.erb和backtrace的部分调用,但我认为这是两件事之一:
您没有将f
变量添加到部分调用中。 f
是页面的局部变量,因此您需要使用:locals
选项将其传递给partial。像这样:
<%= render :partial, :locals => {:f => f} %>
或者@projects
有可能为零,请确保它已在控制器中设置。
答案 1 :(得分:0)
试试这个!
<%= render 'partial', :f => f %>
即
在您的编辑操作视图中,您将拥有 -
<%= render 'from', :f => f %>