2016-07-20 4 views
0

레일 4.2.3을 사용하고 있습니다. 나는 미국을 얻기 위해 다음 헬퍼 방법은 RoR에서 객체 자체 대신 선택 메뉴에서 렌더링 할 객체의 이름/ID를 얻으려면 어떻게해야합니까?

def us_states 
    us_country = Country.find_by_iso('US') 
    State.where(country_id: us_country.id) 
    end 

그런 다음 내보기에 내가 무엇을 내보기에 렌더링되는 것은 어떻게

<select name="my_object[address][state]" id="my_object_address_state"><option value="">Select State</option> 
<option value="#<State:0x007f9f562fe368>">#&lt;State:0x007f9f562fe368&gt;</option> 
… 
<option value="#<State:0x007f9f563124a8>">#&lt;State:0x007f9f563124a8&gt;</option></select> 

이다, 그러나

<%= addr.select :state, us_states.collect {|s| [ s.name, s.id ] }, {prompt: 'Select State'}, class: "selectField selectMenu form-control" %> 

이 ... 언급 한 내 상태 태그의 실제 이름과 ID를 내 선택 태그에 표시합니까? 내가 'DISPLAY_NAME "

<%= addr.select :state, us_states.collect {|s| [ s.display_name, s.id ] }, {prompt: 'Select State'}, class: "selectField selectMenu form-control" %> 

라는 방법을 만들려면이 작업을 수행 할 때

답변

0
을하는 데 도움이되기를 바랍니다

options_for_select가 없습니다. 선택 항목을 다음으로 변경하십시오.

<%= addr.select :state, options_for_select(us_states.collect{|s| [ s.name, s.id ]}), {prompt: 'Select State'}, class: "selectField selectMenu form-control" %> 
0

현재 모델에 당신은 할 수 있습니다 :

class Model < ActiveRecord::Base 
    ... 
    def display_name 
    name.to_s + ' ' + id.to_s 
    end 
    ... 
end 

내가이