Возникли проблемы с рендерингом Javascript в Rails - PullRequest
1 голос
/ 28 августа 2009

Вот соответствующий код контроллера:

if @song.update_attributes(params[:song])
  respond_to do |format|
    format.js {
      render :action => 'success'
    }
  end
else

Вот что в success.js.erb:

$("#song_updated_at").val( "<%= escape_javascript @song.updated_at %>" )

Вот ошибка, которую я получаю:

ActionView::TemplateError ($_ value need to be String (nil given)) on line #1 of app/views/songs/success.js.erb:
1: $("#song_updated_at").val( "<%= escape_javascript @song.updated_at %>" )

    app/views/songs/success.js.erb:1
    app/controllers/songs_controller.rb:52:in `update'
    app/controllers/songs_controller.rb:50:in `update'

Мысли

1 Ответ

2 голосов
/ 28 августа 2009

Вам нужно to_s ваше updated_at, потому что escape_javascript ожидает строку. updated_at возвращает ActiveSupport::TimeWithZone.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...