12

私はこのような配列を持っています:

['New York', 'Los Angeles']

そして、次のような形式でこれらの値を使用して選択/オプションを生成できるようにしたいと思います。

<%= form_tag filter_city_path, :method=> get do %>
  <%= select_tag "city", @list_of_cities %>
<% end %>

しかし、これは機能していません。ご覧のとおり、URLの都市として選択を渡したいと思います。

4

3 に答える 3

18

次のようなoptions_for_selectヘルパーを使用する必要があります

<%= select_tag "city", options_for_select([['New York' ,'New york'], ['Los Angeles', 'Los Angeles']]) %>
于 2012-04-24T01:45:14.510 に答える
6

このための私の方法は、モデル内の定数として配列を構築し、定数にリストされているオプションに確認を強制し、ビューから呼び出すことです。

class Show < ApplicationRecord

  DAYS = [ "monday", "tuesday", "wednesday", "thursday","friday", "saturday","sunday"]

  validates :day, inclusion: DAYS

end

そのフィールドのオプションをコンテンツなしで送信する場合は、検証でも「allow_blank:true」を呼び出す必要があります。それが設定されたら、定数を呼び出して、次のようにフォームにビューを入力できます。

<%= select_tag "day", options_for_select(Show::DAYS) %>

また

<%= select_tag "day", options_for_select(Show::DAYS.sort) %>

事前に並べ替えたい場合(曜日では意味がありません...)

于 2017-08-16T22:16:59.233 に答える
0

配列に十分な引数がないようです。このガイドを参照してください。

オプションは通常、次のようにフォーマットする必要があります。

[['Lisbon', 1], ['Madrid', 2], ...]

、などの値1に注意してください。2

于 2012-04-24T01:40:54.730 に答える