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.

On 2 October 2013 23:06, dasibre [email protected] wrote:

<%= link_to “Pin”, {controller: “pinboard_players”, action: “new”, id:
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