0

ユーザーがform_tagフォームで整数を送信し、Rubyスクリプトが整数の素因数を検出し、出力が新しいビューに表示される単純なRailsアプリがあります。出力が新しいフォームではなくフォームと同じビューに表示されるようにするにはどうすればよいですか?

これが私の現在のコードです:

ルート.rb

  match '/primes', to: 'programs#primes'
  post '/factors', to: 'programs#factors'

primes.html.erb

  <%= form_tag('/factors') do %>
  <div class="field">
   <p>Enter an integer greater than 1:</p>
   <p><%= text_field_tag :number %></p>
  </div>
  <div class="actions">
   <p><%= submit_tag("Find factors") %></p>
  </div>
  <% end %>

programs_controller.rb

  def factors
    n = Integer(params[:number])
    .
    .
    .
    # script finds prime factors, stores output in @output
  end

factor.html.erb

  <%= @output %>

したがって、アプリに実行させたいのは、「/ factor」にルーティングするのではなく、「/primes」で@outputをレンダリングすることです。

4

1 に答える 1

1

次のように、素数コントローラーアクションと同じビューを使用するようにファクターコントローラーアクションに指示できます。

def factors
  # script finds prime factors, stores output in @output
  render :action => 'primes'
end

<%= @output %>また、primes.html.erbに移動して、そこに表示する必要があります

于 2013-02-27T12:10:22.277 に答える