0

たとえば、次のようにルートを設定した場合:

resources :articles do
  member do
    get :search
  end
end

のメソッドに到達params[:search]するには、フォームはどのように見える必要がありますか? 私はこれのバリエーションを試してきましたが、動作させることができません:searchArticlesController

<%= form_for search_article_path, :method => :get do |f| %>
  <%= f.label :search %>
  <%= f.text_field :search %>

  <%= f.submit :submit %>
<% end %>
4

1 に答える 1

1

Rails には、チェックボックス、テキスト フィールド、ラジオ ボタンなどのフォーム要素を生成するための一連のヘルパーが用意されています。名前が _tag で終わる基本的なヘルパー (text_field_tag や check_box_tag など) は、1 つの<input>要素のみを生成します。これらの最初のパラメータは、常に入力の名前です。フォームが送信されると、名前がフォーム データとともに渡され、ユーザーがそのフィールドに入力した値を使用してコントローラーの params ハッシュに渡されます。たとえば、フォームに が含まれている場合<%= text_field_tag(:query) %>、コントローラで を使用してこのフィールドの値を取得できますparams[:query]

パラメータに問題がある場合は、このビデオをチェックしてください: https://gorails.com/episodes/the-params-hash

于 2016-02-22T22:17:27.723 に答える