数据库更新后rails rails redirect_to

时间:2013-10-01 14:39:27

标签: ruby-on-rails redirect params

hy,我有一个表格来改变当前的语言。它与users_controller中的更新操作相关联,如下所示:

<%= form_for current_user do |f| %>
 <%= f.select :locale, [['En', 'en'], ['Pt', 'pt']] %>
 <%= f.submit %>
<% end %>


class UsersController < ApplicationController
 def update  
  @user.update(user_params)
  I18n.locale=@user.locale
  redirect_to root_path
 end

 def user_params
  params.require(:user).permit(:locale)
 end
end

更新后我不想redirect_to root_path但我想redirect_to:back但是根据更新使用locale参数集。 我不知道,你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

class ApplicationController < ActionController::Base

  before_filter :set_locale

  private

  def set_locale
    I18n.locale = current_user ? current_user.locale : 'en'
  end
end

然后您的更新操作就是:

 def update  
   @user.update(user_params)
   redirect_to :back
 end