У меня есть файл «destroy.js.erb» со следующим содержанием:Простой js.erb в Rails 4
alert(<%=j @menu.id %>);
Но этот код не работает; У меня есть исключение из-за синтаксической ошибки. Как я могу это исправить? Благодарю.
У меня есть файл «destroy.js.erb» со следующим содержанием:Простой js.erb в Rails 4
alert(<%=j @menu.id %>);
Но этот код не работает; У меня есть исключение из-за синтаксической ошибки. Как я могу это исправить? Благодарю.
Поскольку escape_javascript
(j
) пытается вызвать gsub
от вашего @menu.id
def escape_javascript(javascript)
if javascript
result = javascript.gsub(/(\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"'])/) {|match| JS_ESCAPE_MAP[match] }
javascript.html_safe? ? result.html_safe : result
else
''
end
end
Если вы действительно хотите использовать escape_javascript
:
alert(<%=j @menu.id.to_s %>);
иначе (без escape_javascript
):
alert(<%= @menu.id %>);
Вам не нужно использовать j
помощник, если вы просто выводит целое число
alert(<%= @menu.id %>);
Если у вас есть строка, то j
помощник больше подходит. Если вы хотите принудить свой идентификатор к строке, используйте to_s
Можете ли вы предоставить стек ошибок. –