У меня есть приложение, которое использует некоторый Javascript для основных запросов Ajax, таких как автозаполнение и поиск в реальном времени. Например, я реализовал живой поиск следующим образом; Я обнаружил потенциальную проблему и хотел бы поговорить с вами об этом, чтобы получить лучший код.
app / controllers / company_controller.rb
def livesearch
@companies = Company.search(params[:query])
render :partial => "companies", :locals => {:companies => @companies}
end
app / views / companies / _companies.html. главным образом потому, что он ожидает (по крайней мере, если вы используете Barista) где-нибудь найдет чистый код javascript (например, в Итак, вопросы по крайней мере: Извините за длинный вопрос и спасибо, что дошли до конца! app / coffeescripts /
) и компилирует его в public / javascripts
. Но в моем приложении у меня также есть файл .js.erb
в моем app / views / companies
; например, у меня есть система голосования, в которой в
app / views / companies / _vote.js.erb :
$ ("# vote_link _ <% = escape_javascript (@ company.id.to_s)%>"). Html ("<% = escape_javascript (vote_link_for (@company))%>")
Чтобы заменить ссылку «Голосовать за эту компанию» на ссылку «Отменить голосование этой компании» (и наоборот) запросом Ajax, который обрабатывается действиями проголосовать
и проголосовать
в контроллер.
Я знаю, что есть coffee-haml-filter, который компилирует CoffeeScript внутри файлов haml, но это не совсем то, что мне нужно, и обычно не рекомендуется и считается чем-то грязным (?).
app / views / * / *. js. *
? app / views / * / *. js. *
файлы?