Rails 3 form_for AJAX вызова - PullRequest
       15

Rails 3 form_for AJAX вызова

2 голосов
/ 25 января 2011

У меня есть метод в моем контроллере:

def work_here
 @company = Company.find(params[:id])
 current_user.work_apply(current_user, @company)
 redirect_to company_path
end

На мой взгляд:

<%= render 'companies/work_form' if signed_in? %>

_work_form.html.erb:

<%= form_for company, :remote => true, :url => { :controller => "companies", :action => "work_here" } do |f| %>
<%= f.hidden_field :id, :value => company.id %>
<%= f.submit "I working here" %>

<% end%>

И у меня есть файл work_here.js.erb:

$("#work_at_form").html("<%= escape_javascript("render('companies/works')") %>")

Но моя форма работает без запроса ajax (на других страницах ajax отлично работает), мой файл js.erb никогда не используется. Кто-нибудь может дать мне совет? Спасибо.

1 Ответ

5 голосов
/ 25 января 2011

Файл work_here.js.erb не может быть прочитан, потому что вы никогда не вызываете его.Перенаправление всегда делают.сделать его, когда запрос в формате js.

def work_here
 @company = Company.find(params[:id])
 current_user.work_apply(current_user, @company)
 respond_to do |format|
   format.html { redirect_to company_path }
   format.js { render }
 end
end
...