0

我需要创建一定数量的 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 %>
4

1 回答 1

0

是的,应该这样做:)

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

于 2012-10-18T04:58:19.367 回答