生成10个UUID记录并将其保存在rails中

时间:2012-10-17 13:21:30

标签: ruby-on-rails-3.1

我需要创建一定数量的UUId记录(基于下拉列表的选择)并将它们保存在数据库中。现在我只生成一个唯一ID。这可以通过这种方式在模型中完成吗?或者我需要为此编写帮助文件吗?

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 %>

1 个答案:

答案 0 :(得分:0)

是的,它应该这样做:)

助手应该有一些方法可以返回只能在视图中使用的数据(html内容等)。在这里,您将生成一个令牌,该令牌将保存在模型的该字段中。 你应该保持原样