[英]rails ruby method invocation by Javascript
我正在使用Rails應用程序,卻偶然發現了一個愚蠢而簡單的問題。 我需要通過觸發javascript按鈕來調用ruby方法。 我有一個名為Book的控制器,並將方法放置在BooksHelper中。 我想做的只是通過單擊按鈕觸發此方法的執行,這將在同一頁面上輸出結果,我不希望該方法打開另一頁。 我已經檢查了幾個可能的解決方案,但無法使其正常工作。 example.html.erb中的所有方法均無效。 我想獲得有關如何解決該問題的幫助。 僅當我使用警報方法結束時它才起作用,但這不是我想要的。 我希望將輸出打印在實際頁面中。 那么,我該怎么辦呢? 我已經閱讀了http://guides.rubyonrails.org/working_with_javascript_in_rails.html,但是它沒有回答我的問題,因為我不是在尋找使用控制器和路由創建新頁面,而是執行ruby方法以查看結果在同一頁面上。 謝謝!
<%= button_to_function "Output", "alert('#{outputString}')" %>
----------------------------------------------------------------------------
#app/helpers/book_helper.rb
module BooksHelper
def outputString
"output"
end
end
-----------------------------------------------------
#app/controllers/books_controller.rb
class PagesController < ApplicationController
def outputString
end
end
------------------------------------------------------
#app/views/books/example.html.erb
<%= button_to_function "Print", "outputString" %>
<%= button_to "Print", :action => "outputString" %>
<input class="ok" onclick="outputString()" type="button" value="Print" />
呈現模板后,控制器/幫助程序方法outputString
在客戶端不可用。
button_to_function
用於通過單擊按鈕來調用javascript函數。 您不能直接通過javascript按鈕調用服務器端函數,而無需向服務器發出AJAX請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.