2012-08-22 16 views
0

我在routes.rb中以下正常工作:render:update do | page |不與Rails3.X

match 'admins/approve' => 'admins#approve', :as => :admins_approve, :method => :post 

在我admins_controller.rb我:

def approve 
    render :update do |page| 
     page << "alert(" + params[:note] + ");" 
    end   
end 

在我的管理員/ index.html的。 ERB:

<% @users.each do |user| %> 
    <tr> 
    <td class= "action_add_note"> 
     <%= form_tag admins_approve_path, :id => "form_note_#{user.id}", :remote=> true do %> 
      <%= text_area_tag 'note' %> 
     <% end %> 
     <%= link_to_function content_tag(:i, "", :class => 'icon-ok'), 
        "$('#form_note_#{user.id}').submit();", :class => "btn"%> 
    </td> 
    </tr> 
<% end %> 

我知道我可以使用,而不是功能按鈕,但在這裏卻不是這樣,反正每當我提交我莫名其妙地得到錯誤的道路,並通過以下電子RROR:

ActionView::MissingTemplate (Missing template admins/update, application/update with {:locale=>[:en], :formats=>[:js, "application/ecmascript", "application/x-ecmascript", :html, :text, :js, :css, :ics, :csv, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :handlers=>[:erb, :builder, :coffee]}. Searched in: 
* "/Users/Apple/code/rails_pp/app/views" 
* "/Users/Apple/.rvm/gems/ruby-1.9.2-p180/gems/twitter-bootstrap-rails-2.1.1/app/views" 
app/controllers/admins_controller.rb:11:in `approve' 

Rendered /Users/Apple/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.2.6/lib/action_dispatch/middleware/templates/rescues/missing_template.erb within rescues/layout (0.6ms) 
+0

Plz請注意,我使用jQuery而不是protot ype – Eqbal

+0

這裏你需要什麼功能?您是否嘗試向批准操作提交備註,並且只有一個包含備註數據的JavaScript警告框? –

+0

雅這不是我期待的最終結果,但至少我不能做這個工作..你有什麼線索怎麼回事? – Eqbal

回答

1

取出link_to_function並添加到您的form_tag

<%= text_area_tag 'note' %> 
<%= submit_tag "Submit %> 
<% end %> 

在您的管理控制器

def approve 
    @note = params[:note] 
    current_user.update_attribute(:note, @note) 
    respond_to do |format| 
    format.js 
    end 
end 

然後創建一個approve.js.erb文件

alert("<%= j(@note) %>");