2013-11-21 5 views
-1

웹 페이지에서 선택한 옵션을 표시 한 다음 사용자가 선택한 값을 가져 와서이 값을 비 모델 속성으로 설정하고 싶습니다. 코드 :이 같은 플래그라는 속성을 정의 project.rb 내 모델에서레일 : 선택한 옵션에서 값을 가져 와서 값을 비 모델 속성으로 설정하는 방법

<%= select_tag "Choice", options_for_select(["Yes","No"]), :include_blank => true %> 

.

attr_accessor :flag 
attr_accessible :flag 

누구나 선택한 값을 "예"또는 "아니오"로 설정하고 값을 플래그로 설정하는 방법을 알려주시겠습니까?

미리 감사드립니다. ,

<%= form_for @project do |f| %> 
    <%= f.label :flag, "Choice" %> 
    <%= f.select :flag, ["Yes","No"], :include_blank => true %> 
<% end %> 

이것은 params[:project] 내 플래그의 값을 제출 적절한 이름을 가진 select 태그를 렌더링 모델에 그 할당 :

+0

형식에 대한 감사 Marek. –

답변

-1

당신이 form_for를 사용하는 경우,이에 select_tag 변경 가상 속성 flag을 수신해야합니다.

+0

고마워요,하지만 그걸 내 모델에 할당한다는 것은 무슨 뜻입니까? 어떻게해야합니까? 나는 방금 레일스에 관해 알았고 방금 배우기 시작했다. –

+0

해당 양식을 제출하면 params에 해당 플래그가 포함됩니다. 따라서 Project.new params [: project]를 실행하면 params [: project] 내에 있기 때문에 플래그 값이 할당됩니다. 그게 전부 야. 귀하의 컨트롤러에서 Project.new param [: project] 또는 project = Project.find (params [: id]); project.update params [: project], 즉 assign이 의미하는 것입니다. 희망이 도움이됩니다. – DiegoSalazar