以下是相关的控制器代码:
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'
思想?
答案 0 :(得分:2)
您需要to_s
updated_at
,因为escape_javascript
需要一个字符串。 updated_at
会返回ActiveSupport::TimeWithZone
。
希望这有帮助。