【发布时间】:2015-12-11 23:37:23
【问题描述】:
我在访问编辑视图中的实例变量时遇到问题。我正在创建一个编辑表单来更改值并更新数据库。我的 edit.html.erb 是:
<% provide(:title, "Edit Campaign") %>
<h1>Update your Campaign</h1>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for(@campaign, url: edit_campaign_path(params[:id])) do |f| %>
...
<%= f.submit "Save changes", class: "btn btn-primary" %>
<% end %>
</div>
</div>
我收到的错误是 表单中的第一个参数不能包含 nil 或为空。我已经签入了 shell 并且 @campaign 为 nil,尽管 edit_campaign_path 是正确的并且 id 存在。
在new.html.erb中,我可以使用:
<%= form_for(@campaign) do |f| %>
没有任何问题。为什么我去编辑的时候,实例变量为nil?
【问题讨论】:
-
我怀疑杨的回答是对的,但我们需要 CampaignsController 的控制器代码
-
能否请您出示来自控制器的
edit代码? -
我在编辑中缺少@符号。
标签: ruby-on-rails ruby forms ruby-on-rails-4