【发布时间】:2017-08-05 05:55:18
【问题描述】:
我想做一个链接以通过 ajax 更改布尔值。
首先,我尝试了this tutorial,但它在rails 4 上效果不佳。
我希望有人能阐明使其发挥作用的最佳实践。
我目前有下面的代码。
#ROUTE
scope 'admin', :module => "admin" do
resources :users do
collection do
put 'toggle/', :action => :toggle_approve
end
end
end
#CONTROLLER
def toggle_approve
@user = User.find(params[:id])
@user.toggle!(:approved)
render :nothing => true
end
<!-- VIEW -->
<% @users.each do |u| %>
<tr class="gradeA">
<td><%= u.name %> <%= u.last_name %></td>
<td><%= u.country %></td>
<td><%= u.created_at.strftime("%d/%m/%Y - %H:%M") %></td>
<td>
<%= link_to '<i class="fa fa-pencil"></i>'.html_safe, edit_user_path(u), class: 'btn btn-icon-toggle', "data-toggle "=> "tooltip", "data-placement" => "top", "data-original-title" => "Edit User" %>
<%= link_to '<i class="fa fa-trash-o"></i>'.html_safe, url_for(:controller => "users", action: :destroy, id: u.id), method: :delete, data: {confirm: "Are you sure?"}, class: 'btn btn-icon-toggle', "data-toggle "=> "tooltip", "data-placement" => "top", "data-original-title" =>"Delete" %>
<%= link_to "approve", toggle_users_path(u), :remote => true %>
</td>
</tr>
<% end %>
路径 toggle_users_path(u) 返回 users/toggle.2 而不是 users/toggle/2
有人有更好的方法来使用 remote: true 让它以更好的方式工作吗?
谢谢!
【问题讨论】:
标签: jquery ruby-on-rails ajax ruby-on-rails-4