Я пытаюсь использовать функциональность JQuery Jeditable для встроенного редактирования с Rails. Большинство примеров в документации (http://www.appelsiini.net/projects/jeditable) предназначены для PHP и, следовательно, нуждаются в помощи по Rails. Вот как PHP выполняет встроенное редактирование для использования выпадающего списка select:
<?php
$array['E'] = 'Letter E';
$array['F'] = 'Letter F';
$array['G'] = 'Letter G';
$array['selected'] = 'F';
?>
$('.editable').editable('http://www.example.com/save.php', {
data : '<?php print json_encode($array); ?>',
type : 'select',
submit : 'OK'
});
Чего я не могу добиться, так это как получить данные из модели моих стран для заполнения меню выбора (список стран). В документации сказано, что json кодирует мои данные.
вот моя модель, которую я хочу отобразить в меню выбора.
create_table "countries", :force => true do |t|
t.string "code", :limit => 2
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
Я хочу использовать поля «имя» и «код» в качестве пары «имя»: «значение» для меню выбора. Сделал это в моем контроллере:
@countries = Country.find(:all, :select => "name,code")
.. приведенное выше дает мне массив типа Country, который я преобразовал в хеш (скажем, x), а затем сделал x.to_json, надеясь, что я получу то, что мне нужно. Я подошел поближе, получил «нас»: «сша», «фр»: «франция», «гр»: «греция», которые при представлении были проблемы с отображением. По сути, этот подход к хешу кажется неубедительным, и он надеялся, что есть лучший способ сделать это.