Как заставить мои страницы рельсов возвращаться как HTML? - PullRequest
0 голосов
/ 15 октября 2010

Я написал сайт о рельсах в последней версии рельсов, основанный на знаниях о рельсах пару лет назад, и столкнулся с ужасной загадкой.

Я по глупости решил проигнорироватьновая система маршрутизации RESTful и надежда на лучшее.

Так что все мои представления просты .erb, а не html.erb

мой файл маршрутов выглядит так

map.connect '/crm/:action/:id', :controller => "contacts", :format => 'html'

вот пример метода:

def update_emails
  Com.update_emails
  respond_to do |format|
    format.html {redirect_to(:action => 'list')}
  end
end

когда он перенаправляет на действие «список», я получаю текстовый файл, который пытается загрузить мой браузер, вместо HTML-версии страницы, котораяЯ хочу.

Есть ли для меня простой способ сказать рельсам, что нужно отправлять только файлы формата html?

Спасибо!

РЕДАКТИРОВАТЬ:

списокaction

def list
  if params[:search]
    @contacts = Contact.search(params)
  else
    @contacts = Contact.find(:all, :order => "updated_at desc")
  end
end

и представление представляет собой простой файл .erb (проблема та же, когда я делаю его в файле .html.erb)

Кроме того, то же самое происходит, когда я redirect_toдругие действия

1 Ответ

0 голосов
/ 15 октября 2010

Вы должны использовать response_to.

def update_emails
  Com.update_emails
  redirect_to(:action => 'list')
end

и затем в действии 'list'

def list
  #some code here
  respond_to |format| do
    format.html {render :list}
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...