我在编辑视图中访问我的实例变量时遇到问题。我正在创建一个编辑表单来更改值并更新数据库。我的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>
我收到的错误是表单中的 First参数不能包含nil或为空。我已经检查了shell并且@campaign是nil,虽然edit_campaign_path是正确的并且id存在。
在new.html.erb中,我可以使用:
<%= form_for(@campaign) do |f| %>
没有任何问题。为什么我去编辑时,实例变量是nil?
答案 0 :(得分:2)
您的@campaign = Campaign.find(params[:id])
CampaignController#edit