Ruby on Rails
Friday, July 7, 2017
May all the gods of all the religions bless you, your house, your family, your extended family, and your friends with health, happiness, long life, and great wealth.
Jesus, I spent an entire week on this!!!
Do you know of a document or link that explains how Turbolinks works?
Ralph
On Tuesday, July 4, 2017 at 11:51:46 PM UTC-6, Ralph Shnelvar wrote:
-- Jesus, I spent an entire week on this!!!
Do you know of a document or link that explains how Turbolinks works?
Ralph
On Tuesday, July 4, 2017 at 11:51:46 PM UTC-6, Ralph Shnelvar wrote:
This is my first post here. Comments on style, etc., are appreciated.
An answer is even more appreciated.
This is a continuation of my question at https://stackoverflow.com/questions/44856528/how-to- trace-a-html-button-non-event- rails-authorization-with- pundit
The problem:
Figure 1:
I have a form:
The first time I visit this page, everything seems to work. I can click on "Change Role" and update the appropriate row in the Postgres table. I can do it as many times as I like with no problems.
If I click on, for instance, somename@yahoo.com (highlighted in yellow), I get to the following page:
Figure 2:
The above is just fine.
If I click on Users on the upper right, I return to the webage denoted as Figure 1.
Now things get, hmm, (un)interesting.
When I click on Change Role, nothing happens.
I have hooked up Wireshark and I am almost 100% sure I see no Post going out when I click on Change Role. I am pretty sure I see no outbound http when I click on Change Role
If I refresh the page, Change Role starts working again!
I am clueless where to look or what is going on.
app/controllers/users_controller.rb
class UsersController < ApplicationController # See https://stackoverflow.com/questions/16519828/rails-4- before-filter-vs-before-action
# "As we can see in ActionController::Base, before_action is just a new syntax for before_filter"
before_action :ralph_before_action
after_action :ralph_after_action
before_filter :authenticate_user!
after_action :verify_authorized
def index
# byebug if ralph_test_byebug
@users = User.all
authorize User
end
def show
byebug if ralph_test_byebug
@user = User.find(params[:id])
authorize @user
end
def update
# byebug # if ralph_test_byebug
@user = User.find(params[:id])
authorize @user
byebug # if ralph_test_byebug
if @user.update_attributes(secure_params )
redirect_to users_path, :notice => "User updated."
else
redirect_to users_path, :alert => "Unable to update user."
end
end
def destroy
user = User.find(params[:id])
authorize user
user.destroy
redirect_to users_path, :notice => "User deleted."
end
private
def secure_params
params.require(:user).permit(:role )
end
def ralph_before_action
# byebug
xyz=123
end
def ralph_after_action
# byebug
xyz=123
end
end
app/views/users/index.html.erb
<div class="bigbox">
<div class="box">
<table class="table-minimal">
<tbody>
<% @users.each do |user| %>
<tr>
<%= render user %>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
app/views/users/_user.html.erb
<td>
<%= link_to user.email, user %>
</td>
<td>
<%= form_for(user) do |f| %>
<%= f.select(:role, User.roles.keys.map {|role| [role.titleize,role]}) %>
<td>
<button><%= f.submit 'Change Role' %></button>
</td>
<% end %>
</td>
<td>
<%= link_to("Delete user", user_path(user), :data => { :confirm => "Are you sure?" }, :method => :delete, :class => 'button') unless user == current_user %>
</td>
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/ad215333-e25d-438f-996f-351a05553126%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment