Вот мое действие контроллера:
def create
#logger.debug("Time.now is #{Time.now}")
new_params = coerce(params)
logger.debug new_params.inspect
params[:user] = new_params[:user]
@user = User.api_create(params[:user])
logger.info @user.inspect
# redirect_to @user
respond_to do |format|
if @user.save
format.html {redirect_to @user}
format.json {render :json => { :user => user_path(@user) } }
else
format.html {redirect_to :controller => "application", :action => "index"}
format.json {render :json => { :errors => "errors" } }
end
end
end
Когда у меня нет ошибок, путь пользователя возвращается для загрузки на сайте. Но когда я пытаюсь передать строку обратно в onError, меня перенаправляют на
ActionController :: RoutingError (Нет
Маршрут соответствует "/ undefined"):
Вынесено
/Users/ddayan/.rvm/gems/ruby-1.9.2-p136/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/routing_error.erb
в пределах спасения / макета (1,8 мс)
Есть идеи, что я делаю не так?
Edit: Хорошо, я не продумал это, если я рендеринг json, чем он идет на OnComplete. Итак, мой новый вопрос - как мне вернуть сообщение об ошибке в onError ????
Edit2: поэтому я изменил формат на JS
format.js { render :text => "ERROR", :status => 403 }
Я получаю статус ошибки в информационном поле внутри errorObj, но у меня нет responseText
Object
info: 403
type: "HTTP"
__proto__: Object