2016-09-21 14 views
0

これは私がparamのuseridは使用できませんが、コントローラで使用できませんか?

<%= form_for :user, :url=>{:action=>'update'},:method=>"get",:html=>{:class=>'form-horizontal'} do |f|%> 

    <div class="form-group"> 
     <label class="col-md-4 control-label" for="textinput">Admin</label> 
     <div class="col-md-4"> 
     <%= f.radio_button :is_admin, 'true', :checked => true %> Yes 
     <%= f.radio_button :is_admin, 'false' %> no 
     <%= f.hidden_field :userid, value: @id %> 
     </div> 
     </div> 
     <%= f.submit ('save') %> 
    <% end %> 

、パラメータにユーザIDを送信していますが、私は私のコントローラでそれにアクセスしようとすると、私はエラー(レコードが見つからない)、次の取得私のビューファイルです:

this is the error

私はこのように私のコントローラメソッドでユーザーを見つけています:

def update 
    @users = User.all 
    @uid = params[:userid] 
    @users = User.find_by_id!(@uid) 
       if @users.update_attributes(user_params) 
        flash[:notice] = "User updated successfully." 
        redirect_to :action=>'view' 
       else 
        flash[:notice] = "Error while updating user." 
        render 'edit' 
       end   
    end 

    private 

    def user_params 
     params.require(:user).permit(:is_admin,:is_member) 
    end 
end 
+0

私はあなた 'userid'は' user'ハッシュの内部にあるので、あなたがそれにアクセスする必要があります方法は、 'paramsはである賭けます' – fanta

答えて

2

の代わりに:

@uid = params[:userid] 

試してください:[:ユーザー] [:ユーザーID]

@uid = params[:user][:userid] 
+0

ありがとう、私は今、とても馬鹿だと感じています。 – aashi0001

関連する問題