2014-11-05 4 views
0

사용자 정보를 업데이트하기 위해 앱을 만들려고하지만 편집 버튼을 누르면 내 현재 정보가 자동으로 삭제되고 현재보기가 렌더링됩니다. 다시보기를 클릭하여 편집보기로 이동해야합니다. 내 문제는, 한 번의 클릭으로 편집보기로 이동하고 싶습니다. 제발 도와주세요.한 번의 클릭으로 사용자 업데이트

내 사용자보기입니다.

<%= link_to "edit", welcome_edit_path(@user)%> 

이 내 편집보기

<div class="medium-4 medium-centered row"> 
    <div class="medium-10 medium-centered columns"> 
     <h3>Edit</h3> 
     <%= form_tag(:controller =>"welcome", :action => "edit", :method => "post") do %> 
     Avatar<%= file_field_tag(:image)%> 
     <%= submit_tag("Save", class: "button [tiny small large]")%> 
     <%end%> 
    </div> 
</div> 

내 컨트롤러

def edit 
    @user = User.find(params[:id]) 
    @user.assign_attributes(:image => params[:image]) 
    if @user.changed? 
     if @user.save 
     redirect_to @user 
     else 
     render 'edit' 
     end 
    else 
    end 
    end 

내 경로

get '/welcome/edit/:id', to: 'welcome#edit', as: 'welcome_edit' 
    match '/welcome/edit/:id', to: 'welcome#edit', via: 'post' 

내 컨트롤러 또는 내 경로에 뭔가 잘못 생각입니다.

답변

1

난 당신이 그런 행동을하려는 경우 알고, 그러나 프로필로 이동하는 것은 redirect_to @user하지 않습니다, 당신은 내가 후 @user를 redirect_to 할 아무것도에게

def edit 
    @user = User.find(params[:id]) 
    @user.assign_attributes(:image => params[:image]) 
    @user.save if @user.changed? 
end 
+0

을 렌더링 할 필요가 없습니다 이미지를 변경하는 중입니다. 내 사용자보기가 아닌 수정보기에서 이미지를 변경하기 때문입니다. 코드를 시도하지만 여전히 수정보기입니다. 나는 사용자보기로 돌아 가기 위해 편집보기에서 새 링크를 만들어야 할 수도 있습니다. 죄송합니다! 내 영어가 그렇게 나쁜 경우 : – mayoneQD

+0

'update' 액션에서 예, redirect_to @user가 가능합니다. – mohameddiaa27

+0

@mayoneQD는 원하는 것입니까? 변화하는 질문입니까? – mohameddiaa27

관련 문제