私はフォームを使って数値の配列を取得しようとしています。私のデータベースでは、私は、変数を持っているように:私はまた、配列としてパラメータで追加が、これはまだ私の問題を解決していない私のコントローラでルビを使った整数配列の格納
<%= f.label :minutes_of_home_team_goals %>
<%= f.fields_for 'home_goal_min[]', [] do |p| %>
<%= f.number_field :home_goal_min %>
<%= f.number_field :home_goal_min %>
<% end %>
:
私は私のフォームでt.integer "home_goal_min", default: [], array: true
:私はフォームを使用してデータを入力するとき
def result_params
params.require(:result).permit(:home_result, :away_result, {:home_goal_min => []}, {:away_goal_min => []})
end
しかし、私はその後、コンソールを介してデータベースをチェックするために進んでいますが、まだ空表示され、私はちょうど得る: home_goal_min:[]
フォームに入力した数値をデータベースに保存するにはどうすればいいですか?
また、home_goal_minのフォーム部分をテキストフィールドとして使用し、カンマで区切った数値を入力できるようにする方法もあります。例えば、 "23,45,52"はhome_goal_minに配列を入力します[23,45,52]
私は '<%= form_for([@league、@team、@ fixture、@result])のようにフォームを持っています。 %> 'それはf.number_fieldとしてそれを使用する必要がありますか? – kjs123
いいえ、 'fields_for'ブロック内では、ブロック内に作成されたフィールドオブジェクトを使用する必要があります。さもなければ、そのブロックの中のフィールドがあなたが変更しようとしている属性の 'fields_for'にあるはずであることを知る方法はありません。 –
それは意味があります。私がp.number_fieldを使うように変更すると、[]:Array'のために '未定義のメソッド 'home_goal_min'というエラーが出ます。私はhome_goal_minを正しい方法で使用していますか? – kjs123