2011-10-31 2 views
1

레일즈에서 jquery jeditable 인라인 편집 기능을 사용하려고합니다. 문서 (http://www.appelsiini.net/projects/jeditable)에있는 대부분의 예제는 PHP 용이므로 Rails에 대한 도움이 필요합니다. 이것은 PHP가 선택 드롭 다운을 사용하여 인라인 편집을 수행하는 방법이다 : 나는 달성 할 수 아니에요 무엇Rails에서 jeditable 인라인 편집 작업을 선택하십시오.

<?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") 

용맹 한 위에서 나에게 내가 해시로 변환 형 나라의 배열을 제공합니다 (예를 들어 x)와 그 다음 내가 필요한 것을 얻을 것이다 바라고 x.to_json했다. 나는 "us", "fr": "france", "gr": "greece"와 같이 가까이서 "us"를 보았습니다. 기본적으로이 해시 접근법은 절름발이 인 것처럼 보이며이를 수행하는 더 좋은 방법이 있기를 바라고 있습니다.

+0

당신이 그것을 표시하는 방법을 싶습니다

@countries = Country.find(:all, :select => "name,code").map {|c| [c.name,c.code] } ==> [["us","usa"], ["fr","france"], ["gr","greece"]] 
? (즉, "us", "fr": "france", "gr": "greece"예)에 대해 구체적으로 무엇이 잘못 되었습니까? –

+0

작동 시키셨습니까? 내 대답이 도움이 되었습니까? –

답변

0

당신이 값의 배열로 필요한 경우 배열을 시도 할 수 :