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.
