私はレールアプリに取り組んでおり、愚かで単純な問題に遭遇しました。javascriptボタンをトリガーしてrubyメソッドを呼び出す必要があります。Book というコントローラーがあり、BooksHelper 内にメソッドを配置しています。私がやりたいことは、同じページに結果を出力するボタンをクリックしてこのメソッドの実行をトリガーするだけです。そのメソッドが別のページを開くことは望ましくありません。いくつかの可能な解決策を確認しましたが、それらを機能させることはできません。example.html.erb のこれらのメソッドはどれも実際には機能しません。問題を解決する方法について助けを求めたいと思います。alert メソッドでまとめた場合にのみ機能しますが、それは私が望んでいるものではありません。出力を実際のページに印刷したい。それで、どうすればいいですか?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" />