私はRORを初めて使用し、ユーザーのフィールドをnullから1に更新しようとしています。同じコントローラー用にcコントローラーを作成しました。
def update_users
Rails.logger.info("in Update users")
@user = User.find(params[:id])
@user.deleted=1
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 'User was successfully Deleted.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
そしてこれをルートで定義しました-
match '/update_users' => 'users#update_users', :as => 'update_users', :via => [:put]
同じことに対する私の見解は-
= link_to raw('<span class="delete">Delete User</span>'), update_users_path(@user.id),
:method => :put,
:data => { :confirm => 'Are you sure?' },
:remote =>true
しかし、出力iでは、/ update_users/7の代わりに/update_users.7を取得しています。そしてネットワーク側で私は得ています-
ActiveRecord::RecordNotFound in UsersController#update_users
Couldn't find User without an ID
plsヘルプ