我在數據庫中有以下表格,也有爲它創建的模型。導軌更新操作不起作用
|id |name |description |created_date |updated_date |
-----------------------------------------------------------------------
|1 |HELLO |greeting |2017-09-28 18:51:51 |2017-09-28 18:51:51|
model.rb
class Person < ApplicationRecord
has_many :person_activities
validates :name, uniqueness: true
end
我想在控制器創建update
行動。它將根據傳遞的名稱更新名稱和描述。例如,我想更新名稱HELLO至HI。我如何爲此創建更新操作?
我試着按照控制器update
行動,但它不會打update
行動
def update
byebug
redirect_to Person.find(name: params[:id]).tap { |person|
person.update!(person_params)
}
end
private
def person_params
params.require(:person).permit(:name)
end
的routes.rb
resources :person, only: [:index, :show, :create, :update, :destroy], defaults: { format: :json }
試圖測試這樣http://localhost:1111/person/HELLO
和身體PARAMS通過{ name: 'HI'}
。我正在使用郵遞員進行測試。
你需要添加'配置/路由條目.rb' - 通常通過'PUT' HTTP請求類型完成更新,因此通過在地址欄中輸入URL(僅發送GET請求)將無法訪問它。您需要使用像Postman這樣的HTTP客戶端來測試它,或者編寫一個HTML表單。請參閱http://guides.rubyonrails.org/form_helpers.html –
我在route.rb中添加了條目。我正在使用郵遞員,請參閱末尾的行 –
您是否將postman中的HTTP方法設置爲PUT? –