0

私はレールアプリに取り組んでおり、愚かで単純な問題に遭遇しました。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" />  
4

1 に答える 1