27

だから私は今、本当に愚かだと感じていますが、答えを見つけることができないようです.

したがって、正確に一度呼び出す必要があるメソッドがあり、これは実験段階にすぎないため、単純なボタンで十分であると判断しました。ただし、ボタンのクリックからメソッドを呼び出す方法がわかりません。

メソッドは home_controller.rb にあり、ボタンは index.html.erb にあります。

何か案は?それとも、これは私ができることではありませんか?

4

5 に答える 5

4

もう 1 つのオプションは、アクションのルートを作成し、その方法で呼び出すことです。すみません、あなたhome_controller.rbが何をしているのかわかりません。それがあなたのホームページのコントローラーなら、Railsではpages_controller.rbwith a method の方がより一般的だと思います。home

その場合、呼び出したいメソッドの名前が であると仮定するとcall_action

あなたpages_controller.rbは次のようになります:

class PagesController < ApplicationController
  #...

  def call_action
    <<does something really nifty>>
  end

end

あなたconfig/routes.rbは次のようになります:

AppName::Application.routes.draw do
  #...

  resources :pages do
    collection do
      get :call_action
    end
  end

end

のホームページのリンクは次のviews/pages/home.html.erbようになります。

<%= link_to "Call Action", call_action_pages_path %>

コマンドラインで実行rake routesして、正しいルートがあることを確認してから_path、その最後に固執する必要があります。

リンクをボタンにしたい場合は、そのためのスタイル付きクラスを作成して、リンクに追加できます。

<%= link_to "Call Action", call_action_pages_path, class: "button" %>

または、スタイル付きクラスでラップします。

<div class="button">
  <%= link_to "Call Action", call_action_pages_path %>
</div>
于 2016-11-29T17:37:30.600 に答える