У меня есть приложение rails, и в моем приложении rails есть раздел администратора. который я делаю для обновления записи
<%= link_to "Approve", admins_transaction_path(transaction, transaction: {status: 'approved'}), method: :put %>
и в моем контроллере это выглядит так
class Admins::TransactionsController < AdminsController
before_action :get_transaction_id, only: [:update]
def index
@transactions = Transaction.where(status: 'pending')
end
def update
@transaction.update_attributes(transactions_params)
redirect_to admins_transactions_path
end
private
def get_transaction_id
@transaction = Transaction.find_by(id: params[:id])
end
def transactions_params
params.require(:transaction).permit(:amount, :asset_id, :user_id, :status, :txnref)
end
end
Это мой лог
Started PUT "/admins/transactions/1?transaction%5Bstatus%5D=approved" for 127.0.0.1 at 2019-01-19 21:17:51 +0800
Processing by Admins::TransactionsController#update as HTML
Parameters: {"authenticity_token"=>"Al0iJGAbwEaLs8jixUOOANQYO7QZzQZWIMp2e2crykLyeGc/JlNHwg1AATqtWMzidhK87Td199b+P0MLguAzVw==", "transaction"=>{"status"=>"approved"}, "id"=>"1"}
Admin Load (0.8ms) SELECT "admins".* FROM "admins" WHERE "admins"."id" = $1 ORDER BY "admins"."id" ASC LIMIT $2 [["id", 1], ["LIMIT", 1]]
Transaction Load (0.6ms) SELECT "transactions".* FROM "transactions" WHERE "transactions"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
(0.3ms) BEGIN
Asset Load (0.4ms) SELECT "assets".* FROM "assets" WHERE "assets"."slug" = $1 LIMIT $2 [["slug", "cash"], ["LIMIT", 1]]
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 3], ["LIMIT", 1]]
Asset Load (0.4ms) SELECT "assets".* FROM "assets" WHERE "assets"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]]
(0.3ms) COMMIT
Redirected to http://localhost:3000/admins/transactions
Completed 302 Found in 39ms (ActiveRecord: 6.8ms)
моя модель транзакции
create_table "transactions", force: :cascade do |t|
t.float "amount"
t.string "txnref"
t.string "status"
t.integer "asset_id"
t.integer "user_id"
t.datetime "deleted_at"
t.string "type"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["deleted_at"], name: "index_transactions_on_deleted_at"
end
Но это не обновляет мою запись.
Довольно сбивает с толку, и я не уверен, что делаю неправильно.
Любые идеи приветствуются.