さて、私は数年前にROR 1で作成した古いフォトギャラリー管理アプリを再構築していて、錆びていて状況が変わったように見えるため、コーディングの問題がいくつか発生しました。私の最初の質問は、ページを呼び出そうとすると、未定義のローカル変数またはメソッドの「ギャラリー」エラーが発生することです。私が混乱しているのは、「ギャラリー」コントローラーでメソッドが定義されていることですが、何かが完全に欠落しているのではないかと思います。関連するコードスニペットを次に示します。最初は私のindex.html.erbページです。
<% @photos.each do |photo| %>
<div>
<%= image_tag(photo.thumb_url) %>
<%= link_to 'Show', gallery %><br/>
</div>
<% end %>
<p><%= will_paginate @photos %></p>
私のギャラリーコントローラー:
class GalleryController < ApplicationController
skip_before_filter :authorize
# GET /gallery
# GET /gallery.xml
def index
@photos = Photo.all
@photos = Photo.paginate :page=>params[:page], :order=>'date desc',
:per_page => 2
respond_to do |format|
format.html # index.html.erb
format.json { render :json => @gallery }
end
end
# GET /gallery/1
# GET /gallery/1.xml
def show
@photo = Photo.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render :json => @photo }
end
end
end
そして私のエラー:
undefined local variable or method `gallery' for #<#<Class:0x111127b38>:0x1112d5700>
I should clarify that "Photos" is the admin section which requires login and contains all of the fields/database/record data. I have no problem using the following line:
<%= link_to 'Show', photo %><br/>
Which brings up the correct record and viewing page, but in the admin section of the site (which requires login). Hopefully that makes sense.