У меня возникли проблемы с созданием функций с помощью CoffeeScript, я, наверное, что-то пропустил. Для моего контроллера пользователей я хотел бы создать проверку на стороне клиента для формы регистрации. Я думаю, что я пропустил что-то принципиальное, как все это работает.Функции в controller.js.coffee
<%= form_for @user, :html => {:onsubmit => "return validate_signup_form();"} do |f| %>
CoffeeScript (активы/users.js.coffee):
validate_signup_form =() ->
alert "Hi"
return false
Ожидаемый результат:
var validate_signup_form;
validate_signup_form = function() {
alert("Hi");
return false;
};
validate_signup_form();
Реальный выход:
(function() {
var validate_signup_form;
validate_signup_form = function() {
alert("Hi");
return false;
};
}).call(this);
Лучшим подходом к этому является привязка событий к полям, но если у кого-то есть решение этой конкретной проблемы, я был бы рад услышать это, это может пригодиться в другой раз. –
странный, онлайн-кофейник почти извлекает то, что вы ожидаете. См .: http://jashkenas.github.com/coffee-script/ – apneadiving
Да, что-то меняется, когда Rails включает файл. Может быть особенностью. :) –