Pracuję nad aplikacją Rails 3.2 + AngularJS i umieściłem cały mój kod angularJS pod trasą railsową o nazwie "api_path" (EG: / api #)
Podczas konfigurowania łącza do funkcji CRUD, takich jak "pokaż" w moim szablonie AngularJS, robiłem coś takiego:
<td><a href="/api#/costings/{{costing.id}}">Show</td>
Mój szablon AngularJS znajduje się w strumieniu aktywów i nazywa się show.html.erb. Wiem, że to kompilacja Erb poprawnie, jak mogę zrobić <% = 2 + 2%> i to działa.
Mam metodę w moim pliku application_helper.rb jak;
def link_to_api(title, path)
link_to title, api_path + "#" + path
end
Jeśli spróbuję użyć tego w moim szablonie AngularJS, pojawi się błąd:
NoMethodError at /costings/index.html.erb
=========================================
> undefined method `link_to_api" for #<#<Class:0x007f4e8f550340>:0x007f4e9391ab20>
(in app/assets/templates/costings/index.html.erb)
app/assets/templates/costings/index.html.erb, line 8
Oto, co próbowałem w szablonie
<td><%= link_to_api("Show", "costings/{{costing.id}}") %></td>
Odpowiedzi:
0 dla odpowiedzi № 1- Nie sądzę, że dobrym pomysłem jest użycie pomocnika w AngularJS.
- Szablon w
assets/*
nie może dzielić sięapplicationHelper
zakres, więc nie może tego zrobić. - Jeśli musisz, spróbuj użyć erb
views/*
i powinno działać.