【发布时间】:2011-11-04 02:31:31
【问题描述】:
我正在尝试将 jquery jeditable 内联编辑功能与 Rails 一起使用。文档 (http://www.appelsiini.net/projects/jeditable) 中的大多数示例都是针对 PHP 的,因此需要一些有关 Rails 的帮助。这就是 PHP 使用下拉菜单进行内联编辑的方式:
<?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 希望我能得到我需要的东西。我确实接近了,得到了“us”:“usa”,“fr”:“france”,“gr”:“greece”,其中视图呈现有问题。基本上这种哈希方法看起来很蹩脚,希望有更好的方法来做到这一点。
【问题讨论】:
-
您希望它如何显示? (即“us”:“usa”,“fr”:“france”,“gr”:“greece”示例具体有什么问题)?
-
你让它工作了吗?我的回答有帮助吗?
标签: ruby-on-rails