Ruby on Railsで非モデルフォームを実行するにはどうすればいいですか? 質問する

Ruby on Railsで非モデルフォームを実行するにはどうすればいいですか? 質問する

私はRuby on Railsで非モデルフォームを作ろうとしていますが、私が見つけた例のほとんどは1つのフィールド(検索フィールドなど)しか持たないか、次のような古いフォームの書き方を使用しています。Ruby on Rails を使用したメールフォーム

たとえば、ビュー用の 2 つのフィールドを持つ非モデル フォームのサンプル コードと、コントローラーでそれらのフィールドにアクセスする方法を教えていただけるとありがたいです。

本当にありがとう。

ベストアンサー1

必要になるだろうフォームヘルパー方法:

testアクションに従う単純なアクションが必要な場合を考えますdo_test

テストアクションのシンプルなビュー (posts/test.html.erb):

<% form_tag '/posts/do_test' do %>
    <%=label_tag 'name' %>
    <%=text_field_tag 'name'%>

    <%=label_tag 'phone' %>
    <%=text_field_tag 'phone'%>

    <div><%= submit_tag 'Save' %></div>
<% end -%>

投稿コントローラー内:

def test
end

def do_test
  name = params[:name]
  phone = params[:phone]
  # do whatever you want...
end

また、config/routes.rbのルートに次の2つのアクションを追加する必要があります。

map.resources :posts, :collection=>{:test => :get, :do_test => :post}

おすすめ記事