1

これが私の現在のコントローラーです:

def show

    @lesson = @current_user.lessons.find(params[:id])

    respond_to do |format|
        format.html # show.html.erb
        format.json { render json: @lesson }
    end
end

現在、ユーザーは自分のレッスンのみにアクセスできます。example.com/lessons/[他の人の公開レッスン ID] にアクセスしても表示されません。

lessonテーブルの列publicが他の人のレッスンで trueの場合、自分のレッスンまたは他の人のレッスンを表示するアクセス権をユーザーに付与したいと思います。どうやってやるの?

4

1 に答える 1

0

これは機能しているようです:

def show

    begin
        @lesson = @current_user.lessons.find(params[:id])
    rescue ActiveRecord::RecordNotFound
        @lesson = Lesson.where("public = ? AND id = ?", true, (params[:id]))[0]
    end


    respond_to do |format|
        format.html # show.html.erb
        format.json { render json: @lesson }
    end
end

これについて安全でない、または持続不可能なことはありますか?

于 2013-01-28T23:43:13.453 に答える