Tôi mới sử dụng Rails và tôi đang cố gắng sử dụng trình trợ giúp link_to để tạo liên kết đưa ra yêu cầu PUT thay vì yêu cầu GET. Cụ thể, tôi đang cố gắng tạo liên kết kích hoạt tài khoản của người dùng trong ứng dụng của tôi từ bảng điều khiển của quản trị viên. Tôi đang sử dụng Rails 3.0.5.Ruby on Rails link_to Với phương thức
tập tin routes.rb của tôi có:
match '/admin/users/:id/activate' => 'admin#activate_user',
:action => :activate_user, :via => :put
Quan điểm của tôi có:
link_to 'Activate', :action => :activate_user, :id => user.id, :method => :put
Tuy nhiên điều này sẽ tạo URL (ví dụ) /admin/users/7/activate?method=put
với mã nguồn <a href="/admin/users/7/activate?method=put">Activate</a>
.
Tôi muốn tạo ra, thay vào đó, <a href = "/admin/users/7/activate" data-method="put">Activate</a>
Tôi nhận ra tôi có thể sử dụng button_to, nhưng tôi đã vật lộn với vấn đề này trong một thời gian và tôi đang bối rối vì sao tôi nhìn thấy hành vi này, khi các hướng dẫn khác nói rằng những gì tôi đang làm nên hợp lệ. Làm thế nào tôi có thể đi về việc tạo ra một link_to helper với hành vi tôi muốn?
các tuyến đường rake sản xuất cho đường dẫn đặt ở trên là gì ?? Bạn có thể đăng nó không? – prasvin
Công trình này, cảm ơn! Và đó là giải pháp sạch nhất :) – maksim
Điều này không hiệu quả đối với tôi. Nếu không có phương thức nào được định nghĩa trong link_to, tôi sẽ nhận được thông báo lỗi No route matches [GET]. – ndemoreau