The stuff in the second paragraph, evidently, has nothing to do with the 
problem in the first part. I got things to go OK in production. The issue 
in paragraph 1 is still there. 

On Saturday, October 19, 2013 3:19:57 PM UTC-7, Ephraim Feig wrote:
>
> In my application, I am using Michael Hartl's Follow/Unfollow process 
> using javascript. It works fine on my Mac running Chrome, Firefox and 
> Safari, locally and from Heroku. On the iPhone (running directly on my 
> iPhone via Heroku or locally using iOS Simulator) things get strange. 
> Things work ok to unfollow. But to follow, I click on the blue button that 
> says "Follow". The controller action is fine, I actually get to follow the 
> intended user. But the button, instead of changing to white and saying 
> "Following",  behaves as if the cursor is hovering over it. That is, it 
> does not change to the other button, only its color is greyed. Only when I 
> click something else, does the button change to its correct setting. It's 
> as though the rendering is not done after the follow action is executed.
>
> When I rake assets:precompile and run with config.assets.compile = false 
> (which is what I want to do in production), after I click the Follow 
> button, it throws me back to a totally different page, one which I only 
> access under two circumstances- (1) it's the page that the create action of 
> my users_controller would throw me if it could not save a new user, and (2) 
> if the signed_in_user condition fails.
>
> Here is the code (it will look very familiar).
>
> follow_form.mobile.erb
>
> <% unless current_user?(@user) %>
>   <div id="<%[email protected] %>">
>   <% if current_user.following?(@user) %>
>     <%= render 'unfollow' %>
>   <% else %>
>     <%= render 'follow' %>
>   <% end %>
>   </div><% end %>
>
> _follow.mobile.erb
>
> <%= form_for(current_user.relationships.build(followed_id: @user.id),
>              remote: true) do |f| %>
>   <div><%= f.hidden_field :followed_id %></div>
>   <%= f.submit "Follow", class: "btn btn-primary btn-small" %><% end %>
>
> _unfollow.mobile.erb
>
> <%= form_for(current_user.relationships.find_by_followed_id(@user),
>              html: { method: :delete },
>              remote: true) do |f| %>
>   <%= f.submit "Following", class: "btn btn-small", data: {:confirm => "Are 
> you sure you want to unfollow this user?"} %><% end %>
>
> create.js.erb
>
> $("#<%[email protected] %>").html("<%= escape_javascript(render('users/unfollow')) 
> %>")
> $("#followers").html('<%= @user.followers.count %>')
>
> destroy.js.erb
>
> $("#<%[email protected] %>").html("<%= escape_javascript(render('users/follow')) %>")
> $("#followers").html('<%= @user.followers.count %>')
>
> relationships_controller.rb
>
> class RelationshipsController < ApplicationController
>   before_filter :signed_in_user
>
>   respond_to :html, :js
>
>   def create
>     @user = User.find(params[:relationship][:followed_id])
>     current_user.follow!(@user)
>     respond_with @user
>   end
>
>   def destroy
>     @user = Relationship.find(params[:id]).followed
>     current_user.unfollow!(@user)
>     respond_with @user
>   endend 
>
>
>

-- 
-- 
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
--- 
You received this message because you are subscribed to the Google Groups "SD 
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to