私の update.html.erb:
<% @uploads.each do |upload| %>
<p><%= upload.name %></p>
<p class="grey">
<%= best_in_place upload, :place, type: :select, collection: [ ["Home", "Home"],["Sauna", "Sauna"]]%>
</p>
<%end%>
コントローラ:
def show
@uploads = Upload.all
end
def update
@uploads = Upload.all
@upload = Upload.find(params[:id])
respond_to do |format|
if @upload.update_attributes(params[:upload])
format.html { redirect_to @upload, notice: 'Upload was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @upload.errors, status: :unprocessable_entity }
end
end
end
問題は、エラーが発生することです: undefined method
each' for nil:NilClass` は、コントローラーがオブジェクトを変数 @uploads に渡さないことを意味します。なぜそれをしないのですか、どうすれば修正できますか? 前もって感謝します。
ps。ビューの上部に次のように書くことができます。
<% @uploads=Uploads.all%>
しかし、それは最善の考えではありません。前もって感謝します