#ruby-on-rails
#ruby-on-rails
Вопрос:
Следующий фрагмент отлично работает с моими Rails 3.0.3:
class Lab1pd1amController < ApplicationController
def index
respond_to do |format|
@students = Student.find_by_sql("SELECT * FROM students WHERE students.session = 'AM' and students.pd1 = 'Science' ORDER BY lname ASC")
format.html # index.html.erb
format.xml { render :xml => @students }
end
end
def show
@students = Student.find(params[:all])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @student }
end
end
end
Но когда я развертываю с использованием Heroku, я получаю следующее сообщение об ошибке синтаксиса (в журналах Heroku):
/app/.bundle/gems/ruby/1.9.1/gems/activesupport-3 .0.3/lib/active_support/dependencies.rb:239:в `require’: /app/app/controllers/lab1pd1am_controller.rb:1: синтаксическая ошибка, неожиданный keyword_do_block, ожидание ‘;’или ‘n’ (синтаксическая ошибка)
Ответ №1:
Я бы убедился, что что-то не проникло туда до того, как вы сделали git push heroku master
.
Также может потребоваться некоторая очистка.
class Lab1pd1amController < ApplicationController
def index
@students = Student.where(:session => "AM", :pd1 => "Science").order("lname ASC")
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @students }
end
end
def show
@student = Student.find(params[:all])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @student }
end
end
end
Вы также можете поменять respond_to
местами ‘s для respond_to/respond_with
комбо, чтобы очистить его немного больше.
Комментарии:
1. Эй, Адам, после выполнения ваших инструкций, это то, что я получил: