2012-06-05 2 views
0

데이터베이스에 열거 형 필드를 만들었습니다. 이제 필드를 뷰에 바인딩하여 사용 가능한 모든 값을 선택 영역에 표시합니다. 이 경우 남자와 여자.레일에서 필드에 열거 형 값을 바인딩하는 방법

t.enum :sex ,:limit => [:Male, :Female] 

편집 :

SQL generated: 
Started PUT "/profiles/3" for 127.0.0.1 at 2012-06-04 22:11:35 -0700 
Processing by ProfilesController#update as HTML 
    Parameters: {"utf8"=>"?", "authenticity_token"=>"IJGsa4RfVeBC/LwD6PI69rJ5O0RxmPNTu7PavqK5hPM=", "profile"=>{"firstname"=>"Huzaifa ", "sex"=>"Female"}, "commit"=>"Update Profile", "id"=>"3"} 
    [1m[36mProfile Load (1.0ms)[0m [1mEXEC sp_executesql N'SELECT TOP (1) [profiles].* FROM [profiles] WHERE [profiles].[id] = @0', N'@0 int', @0 = 3[0m [["id", "3"]] 
    [1m[35mSQL (0.0ms)[0m BEGIN TRANSACTION 
    [1m[36mCACHE (0.0ms)[0m [1mSELECT @@TRANCOUNT[0m 
    [1m[35mSQL (0.0ms)[0m COMMIT TRANSACTION 
Redirected to http://localhost:3000/profiles/3 
Completed 302 Found in 5ms (ActiveRecord: 2.0ms)   

답변

1

값의 범위 형태로 여러 가지 방법으로 제시하지만, 당신이 SELECTE 필드를 원하는 것처럼 소리를 할 수 있습니다. 나는 당신의 열 이름을 가정하고있어 "열거"

= form_for @<model_name> |t| 
    = t.select :enum, [:Male, :Female] 
+0

그것은 선택 필드를 보여이지만이 값으로 모델을 업데이트하지 않는 <% = f.select : sex, [: Male, : Female] %> – Gainster

+1

쿼리가 만들어지고 전달되는 값이 무엇인지 로그를 확인하십시오. –

+1

@ gabriel-yarra enum은 필드 이름이 아닌 유형입니다. – Gainster

0

값을 전달 아니었다이다

<%= f.select :sex , [[ "Male" ,0] , ["Female" , 3 ]] %> 
관련 문제