0

simple_form と devise (RoR gems) を使用して、新規ユーザーとユーザーの編集フォームを作成しました。チェックボックス機能を追加して、ユーザーが受け入れる支払い方法を選択できるようにしました。ただし、フォームに入力して更新した後、ユーザーページは、チェックされたアイテムを表示しながら、このダッシュ、ゼロ、およびその他の記号を生成します。

例: (フォームを更新したときに、「デビット カード」と「PayPal」にチェックを入れたところ、次のようになりました。

利用可能な支払い方法: --- - デビットカード - PayPal - ''

これはばかげた質問かもしれませんが、不要なシンボルを取り除く方法を知っている人はいますか? 私は RoR の完全な初心者であり、すべてのコードを理解するのに本当に苦労しています。

私の edit.html.erb (ユーザーがプロファイル ページを表示するためにアクセスするものでもあります) では、次のコードを使用しました。

    <%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:method => :put, class: 'form-horizontal'}) do |f| %>
  <%= f.error_notification %>

<%= f.input :name %>
Payment Methods Accepted:
    <%= @user.paymode %>
<div class="checkboxes">
<p>
    <%= f.collection_check_boxes :paymode, [['Cash', 'Cash'] ,['Credit Card', 'Credit Card'] ,['Debit Card', 'Debit Card'] ,['PayPal', 'PayPal']], :first, :last, {:item_wrapper_class => 'checkbox_container'} %>
    </div>

これは、私の user.controller.rb ファイルの下で定義されます

    class UsersController < ApplicationController
      def show
       @user = User.find(params[:id])
end

また、簡単な背景を説明すると、最初はacts_as_tggable_onをsimple_formとdeviseで実装して、後でペイモード(支払い方法)でユーザーをフィルタリングできるようにしようとしました。しかし、これはうまくいかなかったので、単純化してこれにしました。その後、タグ付け関連のコードをすべて削除しました。これは、取得しているシンボルと関係がありますか?

ありがとうと助けていただければ幸いです!

4

1 に答える 1