2

コントローラにメソッドがあります:

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" %>

<%終了%>

そして私はwork_here.js.erbファイルを持っています:

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

しかし、私のフォームはajaxリクエストなしで機能します(他のページではajaxフォークは問題ありません)。私のjs.erbファイルは使用しません。誰かアドバイスしてもらえますか?ありがとう。

4

1 に答える 1

5

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
于 2011-01-25T08:19:21.500 に答える