0

(ドロップダウンの選択に基づいて)特定の数のUUIdレコードを作成し、それらをデータベースに保存する必要があります。現在、一意のIDを1つだけ生成しています。これは、この方法でモデルで実行できますか?または、そのためのヘルパーファイルを作成する必要がありますか?

def generate_unique_token=(value)
  self.secret = Base64.encode64(UUIDTools::UUID.random_create)[0..8]
end

私のコントローラー:

def create
  @secretcode = Secretcode.new(params[:secretcode])
  @user = User.new(params[:user])
  @secretcode.user_id = @user
  @secretcode.generate_unique_token = params[:secretcode][:secret]

  if @secretcode.valid?
    @secretcode.save
    redirect_to secretcodes_path
  else
    render 'new'
  end
end

マイビューページ

<%= form_for(@secretcode) do |f| %>
  <%= f.select(:secret, options_for_select([['1',1], ['10',10], ['20',20],['50',50]['100',100]])) %>
  <%= render 'layouts/error' %>
  <%=f.label :secret%>
  <%= f.hidden_field :user %>
  <%=f.submit :generate %>
<% end %>
4

1 に答える 1

0

はい、このようにする必要があります:)

ヘルパーには、ビュー (html コンテンツなど) でのみ使用できるデータを返すメソッドが必要です。ここでは、モデルのそのフィールドに保存されるトークンを生成しています。そのままにしておけばいい

于 2012-10-18T04:58:19.367 に答える