An Interest In:
Web News this Week
- April 1, 2024
- March 31, 2024
- March 30, 2024
- March 29, 2024
- March 28, 2024
- March 27, 2024
- March 26, 2024
February 15, 2021 02:24 pm GMT
Mission: add buttons to change the
Original Link: https://dev.to/yarotheslav/tldr-button-to-update-status-attribute-of-a-table-io1
TLDR: Button to update status attribute of a table
Mission: add buttons to change the status
of a task
HOWTO:
migration - add status
column to tasks
add_column :tasks, :status, :string, null: false, default: "planned"
Enter fullscreen mode Exit fullscreen mode
task.rb - list available statuses
validates :status, presence: true STATUSES = [:planned, :progress, :done]
Enter fullscreen mode Exit fullscreen mode
tasks_controller.rb - add action to change status
def change_status @task = Task.find(params[:id]) if params[:status].present? && Task::STATUSES.include?(params[:status].to_sym) @task.update(status: params[:status]) end redirect_to @task, notice: "Status updated to #{@task.status}" end
Enter fullscreen mode Exit fullscreen mode
routes.rb - add actionable link to change status.
resources :tasks do member do patch :change_status end end
Enter fullscreen mode Exit fullscreen mode
tasks/show.html.erb
<% Task::STATUSES.each do |status| %> <%= link_to change_status_task_path(@task, status: status), method: :patch do %> <%= status %> <% end %> <% end %>
Enter fullscreen mode Exit fullscreen mode
Voila, that's it!
Original Link: https://dev.to/yarotheslav/tldr-button-to-update-status-attribute-of-a-table-io1
Share this article:
Tweet
View Full Article
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To