Hi All,
I'm very new to RoR development and am working through the developer.apple.com tutorials to try to get a good enough working knowledge to be able to start my own project. Unfortunately, i'm using Rails 3 and the tutorials are aimed at a Rails 2 environment.
I've been able to get a fair way through the tutorials, working out some of the simpler changes myself (changes to the routing API were interesting), but i've hit a point where i'm stuck and google hasn't been able to help me.
I'm currently working through the "Spicing it up with Ajax" section of http://developer.apple.com/tools/customizeonrailsleopard.html but am unable to successfully convert the Rails 2 link_to_remote syntax into Rails 3. I understand that the method is depreciated and that i should use link_to with a :remote => true option specified, but the arguments that i'm supplying don't seem to be being picked up as a Javascript link. Instead, when i click one of the links, the whole page is refreshed and the arguments appear in the address bar (instead of an Ajax call). E.g. http://localhost:3000/events/4?remote=true&method=delete&confirm=Are+you+sure%3F&url=http%3A%2F%2Flocalhost%3A3000%2Fevents%2F4%2Fexpenses%2F6
My _expenses.erb event looks like so:
...<% for expense in expenses -%> <tr id="<%= dom_id(expense) %>"> <td> <%= link_to expense.vendor.name, expense.vendor %> </td> <td align="right"> <%= number_to_currency(expense.amount, :unit => "£") %> </td> <td> <%= link_to 'delete', :url => event_expense_url(event, expense), :confirm => 'Are you sure?', :method => :delete, :remote => true %> </td> </tr> <% end -%>...
and my application.html.erb file:
<!DOCTYPE html> <html> <head> <title>Expenses</title> <%= stylesheet_link_tag :all %> <%= javascript_include_tag :defaults %> <%= csrf_meta_tag %> </head> <body>
<%= yield %>
</body> </html>
I'd be very grateful if anyone could offer some advice. Apologies if the source code is too long for the forum.
Thanks, Dave.