2014-11-05 3 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, что вам не нужно, чтобы сделать что-нибудь

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

Я хочу redirect_to @user после меняя изображение, потому что я изменяю изображение в режиме редактирования не в своем представлении пользователя. Я пытаюсь выполнить код, но он все еще находится в режиме редактирования. Может быть, я должен создать новую ссылку в режиме редактирования, чтобы вернуться к представлению пользователя. Сожалею! если мой английский так плохо :) – mayoneQD

+0

Да в действии 'update', вы можете redirect_to @user – mohameddiaa27

+0

@mayoneQD - это то, что вы хотели? вы меняете вопросы? – mohameddiaa27

Смежные вопросы