2012-02-29 5 views
1

사용자 프로필 모델과 양식을 여러 하위 양식으로 나누어 개별적으로 업데이트 할 수있는 가장 좋은 방법은 무엇입니까?1 개의 큰 양식을 여러 개의 하위 양식으로 나누십시오.

같은 * 기본 사항

  • 세부 사항은, 그래서 취급의 좋은 방법 일 것입니다 무슨
  • 내 사진
  • 내 관심

을 당신은 단지 1 개 편집 작업을 가질 수 있습니다 자세한 사항 이?

답변

1

실제로 실제로하고 싶은 일은 사용자를 위해 중첩 된 리소스 집합을 만들어서 각각 별도로 처리 할 수 ​​있도록하는 것입니다. 같은 당신에게 경로를 제공

resources :users do 
    resource :basic_details 
    resource :detailed_details 
    resources: :photos 
    resources: interests 
end 

: 같은

<%= form_for :basic_details, url: user_basic_details_path(@user) do |form| %> 
    <%= form.text_field :name %> 
    <%= form.submit %> 
<%= end %> 

이 방법을 수행 할 수 있습니다 설치 컨트롤러 : edit_user_basic_details(@user)는, 그럼,이 같은이 하위 자원의 업데이트 작업을 공격 형태를 가질 수있다 이 :

class BasicDetailsController < ApplicationController 
    def edit 
    @user = User.find(params[:user_id]) 
    end 

    def update 
    @user = User.find(params[:user_id]) 
    @user.update_attribures(params[:basic_details]) 
    end 
end 

이것은 매우 빠르고 더러운 방법으로 구현하지만 시작해야한다는 것을 나타냅니다. 양식과 컨트롤러를 데이터베이스의 테이블 만 편집한다고 생각할 필요는 없으며, 모델 중 하나의 특정 부분을 별도의 리소스로 관리하는 것이 훨씬 편리 할 때가 있습니다.

희망이 시작됩니다.

1

업데이트 만하는 경우 표준 편집/업데이트 작업을 사용하고 더 작은 양식을 만들 수 있습니다. 평소와 같이 양식을 작성하고 원하는 필드 만 포함 시키면 일반 업데이트 작업을 모두 가리킬 수 있습니다.

당신이 다른 필드를 검증 문제로 실행 수있는 작은 형태의 새 사용자를 만드는 경우,하지만 당신은 단지 다음 업데이트하는 경우 확인을 위해 minium 요구 사항을 이미 충족되어야한다

+0

어떤 그렇지 않은 경우 새 양식을 업데이트합니까? – vipin8169

관련 문제