У меня есть эта модель, в которой я хочу обновить свои типизированные столбцы, используя активную запись update_columns
Я искал множество ответов в стеке, похоже, не хватает ресурсов относительно сохраненных типов.
show.html.erb
<%= form_tag print_booking_path(@booking), method: 'post' do %>
<%= label_tag :name %>
<%= text_field_tag :name, '', class: 'form-control' %>
<%= label_tag :age %>
<%= text_field_tag :age, '', class: 'form-control' %>
<%= submit_tag "Print", class: "btn btn-default" %>
<%= link_to 'Cancel', '#', class: 'btn btn-default', data: { dismiss: 'modal' } %>
<% end %>
bookings_controller
def print
@booking = Booking.find(params[:id])
if @booking.print_model(current_user, params[:name], params[:age])
render :print
else
render :print
end
end
модель бронирования
def print_model(user, name_test, age_test)
self.update_columns(name: name_test, age: age_test)
end
тип хранилища при модели бронирования
typed_store :profile, coder: PostgresCoder do |i|
i.string :name, default: ""
i.integer :age, default: 0
end
ошибкапохоже, что это
не может написать неизвестный атрибут name
это то же самое, если я хочу обновить как этот self.increment! (: age)