В настоящее время работает над проектом Rails 4, в котором мы регистрируем пользователей и входим в систему через модалы.Rails 4 - Sizzle return Uncaught Error: Синтаксическая ошибка, нераспознанное выражение: [имя_пользователя]
Когда я нажимаю на ссылку, чтобы открыть модальное, я получаю сообщение об ошибке, как это:
В качестве примера: Это код JS используется для запуска модального
if($('.modal').length > 0) {
$("#login").modal();
}
else {
$("body").prepend("<%= escape_javascript(render "remote_sign_in", :formats => [:html]) %>");
$("#login").modal();
}
Это само модальное:
<!-- Modal Login -->
<div class="modal modal-login fade" id="login" tabindex="-1" role="dialog" aria-labelledby="modalLogin" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="modalLogin">Sign In</h4>
</div>
<div class="modal-body">
<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :remote => true, :format => :js, :html => {:class => "form-signin"}) do |f| %>
<div class="form-group">
<label for="" class="sr-only">Email</label>
<%= f.input :email, :autofocus => true, :label => false, :input_html => {:class => 'form-control'}, :placeholder => "Email" %>
</div>
<div class="form-group">
<label for="" class="sr-only">Password</label>
<%= f.input :password, :label => false, :input_html => {:class => 'form-control'}, :placeholder => "Password" %>
</div>
<div>
<%= f.button :submit, "Sign In", :class => "btn-credential btn btn-flat-alizarin btn-block" %>
</div>
<% end %>
</div>
<div class="modal-footer">
<div>
<%= link_to "Forgot your password?", remote_recover_password_path, :remote => true, "data-dismiss" => "modal" %>
</div>
<%= link_to "Create an account", remote_sign_up_path, :remote => true, "data-dismiss" => "modal" %>
<div>
</div>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal
И это навигация штрих-код, который отображает ссылку, которая должна быть нажата:
<li>
<%= link_to "Log in", remote_sign_in_path, :remote => true, class: "login", "data-toggle" => "modal" %>
</li>
И, наконец, это соответствующий маршрут:
match 'remote_sign_in', to: 'remote_content#remote_sign_in', via: [:get]
Я понятия не имею, что происходит неправильно .. Я даже дошел до проверки функции escape_javascript, чтобы увидеть, что он выводит, и он работает так, как должен. По какой-то причине Sizzle.js пытается выбрать элемент, называемый «remote_sign_in»?
Любая помощь оценена!
Спасибо - но я все еще получаю ту же ошибку с этим –
я предполагаю, что это ошибка специфична для Шипения, потому что этот код работает на моем приложении без Шипения. Попробуйте сохранить 'remote_sign_in' в переменной в вашем контроллере и использовать эту переменную в своем представлении. – Jason