Rails 4 ujs button only works after second click

Here’s the code

**new.js.erb file has the following js code**

$('a.pinbutton').on('click', function() {

$(this).parent().append('<%= escape_javascript(render("select")) %>')

});

**here's the player index with the new link**

<%= link_to "Pin", {controller: "pinboard_players", action: "new", id: player}, remote: true, class: "pinbutton", id: "#{player.id}" %>

**controller new action action:**

def new

session[:player] = params[:id]

@pinboard_player = PinboardPlayer.new(player_id: params[:id])

@current_user_pinboards = get_user_pinboards

respond_to do |format|

format.html

format.js

end

end

When I click on the button, to display the select form, it takes two clicks for the javascript to work.

Have a look in development.log to see what is happening when you press it the first time, then the second.

Colin

Your view that has the link link_to ‘Pin’ already binds the event and points to the new action so you won’t need to bind the event again to this link in new.js.erb.

Conclusion is your new.js.erb has problems.

Replace your new.js.erb code with the following:

$(‘a.pinbutton’).parent().append(‘<%= escape_javascript(render(“select”)) %>’)

regards,

Sur

crimson9.com