Незаметное автоматическое заполнение jQuery в направляющих

Я хотел бы увидеть пример, демонстрирующий применение пункта (7.2) выше, где упомянутое объявление будет первым в его пространстве имен.

blockquote>

Просто:

namespace ns {
    // declares S into ns as per [basic.scope.pdecl]
    void f(struct S&);
}

extern ns::S s;
//extern ::S s; // not declared

Здесь struct S сначала объявляется в подробном спецификаторе типа в условии объявления-параметра функции, определенной в области пространства имен, в форме class-key identifier, и поэтому [basic.scope.pdecl] /7.2 применяется и struct S объявляется в пространстве имен ns, где объявлена ​​функция.

вам нужно будет использовать объект класса S в вашей функции f

blockquote>

Вот пример :

[ 111]

В качестве бонуса приведен пример, в котором класс не был впервые объявлен в подробном спецификаторе типа, и поэтому правило в кавычках неприменимо:

struct S;
namespace ns {
    void f(struct S&); // refers to ::S
}

//extern ns::S s; // not declared
extern ::S s;

Здесь разработанный-тип-спецификатор не является первым объявлением struct S, поэтому [basic.scope.pdecl] / 7 не применяется, и никакой класс не объявлен в пространстве имен.

13
задан Tom Lehman 7 April 2009 в 16:04
поделиться

4 ответа

Вы можете добавить URL-адрес к атрибуту в форме или поле формы, если вы не против разметки, которая может не пройти валидатор, а затем получить этот атрибут с помощью jQuery.

Похоже, что Rails 3.0 может пойти по этому пути с помощниками javascript, использующими пользовательские атрибуты данных HTML5: DHH @ Railsconf 09

6
ответ дан 2 December 2019 в 01:11
поделиться

Да, это возможно, на текущих версиях направляющих просто называют Ваш файл application.js.erb; на более старых версиях Вы можете или самокрутка или захватывать что-то вроде этого.

2
ответ дан 2 December 2019 в 01:11
поделиться

Не делайте application.js.erb , это не очень хорошая практика, даже если задействовано кеширование. Сделайте конечную точку автозаполнения (URL-адрес, с которого вы получаете данные) таким же, как URL-адрес действия вашей формы. В вашем application.js просто добавьте к нему & ac = 1 и пусть ваши контроллеры его поймут.

2
ответ дан 2 December 2019 в 01:11
поделиться

Вам не нужно его жестко кодировать - просто создайте единственную JS-функцию, которая добавляет прослушиватель автозаполнения и принимает параметры для автозаполнения, и вызовите это JS-функция из вашего шаблона:

(код упрощен для ясности)

application.js:

function add_autocomplete(id, url) {
   $("#" + id).autocomplete(
      source: url  
   );
};

application_helper.rb:

def add_autocomplete(id, url)
  render :text => "<script> add_autocomplete('#{id}', '#{url}');</script>"
end

Шаблон ERb:

<input id="i_want_autocomplete" />
<%= add_autocomplete("i_want_autocomplete", items_js_path() %>
1
ответ дан 2 December 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: