Я не уверен, что это такое. Я только что повышен до Rails 3.1 из 3.0.9 и вот что я получаю в моей спецификации:Rails 3.1 response_to & render_403 проблема
PeopleController edit action should require owner
Failure/Error: response.should render_template("/public/403.html")
expecting <"/public/403.html"> but rendering with <"search/_search_menu_item">
Это все на мои спецификации в различных контроллерах. У меня тоже есть этот код в моем AppController:
def render_403
respond_to do |format|
format.html { render :file => "#{Rails.root}/public/403.html", :status => 403, :layout => false }
format.json { render :json => { :error => true, :message => "Error 403, you don't have permissions for this operation." } }
end
end
И это в PeopleController:
def edit
render_403 unless @person.account.id == current_account.id
end
Я уверен, что format.html
блок запускается на выполнение (проверил). Однако математическое ожидание неудачи. Интересно, что здесь происходит.
(search/_search_menu_item
частичный, который получает включен на каждую страницу, которая в основном означает, что расположение приложения визуализируется здесь вместо этого.)
Update: Я заменил render_403
в #edit
с render(:file => "#{Rails.root}/public/403.html", :status => 403, :layout => false)
, чтобы увидеть, что происходит - получил тот же результат.