我在数据库中有以下表格,也有为它创建的模型。导轨更新操作不起作用
|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? –