undefined method `to_sym' for nil:NilClass
このエラーは、nifty_scaffold の編集ページでのみ発生します。
これは _form.html.erb です
<% form_for @progress do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :date %><br />
<%= f.date_select :date %>
</p>
<p>
<%= f.label :description %><br />
<%= f.text_area :description %>
</p>
<p>
<%= f.label :weight %><br />
<%= f.text_field :weight %>
</p>
<p>
<%= f.label :fatpercentage %><br />
<%= f.text_field :fatpercentage %>
</p>
<p>
<%= f.label :height %><br />
<%= f.text_field :height %>
</p>
<p><%= f.submit "Submit" %></p>
<% end %>
これは edit.html.erb です
<% title "Edit Progress" %>
<%= render :partial => 'form' %>
そして、これは私のコントローラーです:
class ProgressesController < ApplicationController
def new
@progress = Progress.new
end
def create
@progress = Progress.new(params[:progress])
if @progress.save
flash[:notice] = "Successfully created progress."
redirect_to progresses_url
else
render :action => 'new'
end
end
def edit
@progress = Progress.find(params[:id])
end
def update
@progress = Progress.find(params[:id])
if @progress.update_attributes(params[:progress])
flash[:notice] = "Successfully updated progress."
redirect_to progresses_url
else
render :action => 'edit'
end
end
def index
@progresses = Progress.all
end
end
何が間違っている可能性がありますか?エラーが見つからないようです:-S。次のように思われます: - データを正しくフェッチします - 「編集ビュー」フィールドに db 値を挿入できません。
:float、:string、:date を足場のデータ型として使用しています。
完成した投稿のために、これは私のエラーです: NoMethodError in Progresses#edit
Showing app/views/progresses/edit.html.erb where line #3 raised:
undefined method `to_sym' for nil:NilClass
Extracted source (around line #3):
1: <% title "Edit Progress" %>
2:
3: <% form_for @progress do |f| %>
4: <%= f.error_messages %>
5: <p>
6: <%= f.label :date %><br />
6 行目でコードのログが終了します...
編集:routes.rbのエラーのようです。これは現在コメントされています:
map.edit_progress "edit_progress", :controller => "progresses", :action => "edit"
コメントを外すと、インデックス ビューでもエラーが発生します。
何らかの理由で、これは「 http://127.0.0.1:3001/progresses/1/edit 」と呼ばれていますが、「http://127.0.0.1:3001/progresses/edit/1 」ではありませんか? 「編集ビュー」が呼び出されているように見えますが...おそらく、これが値が入力されていない理由だと思います...
私の解決策は何ですか?