【问题标题】:create multiple records from a comma separated entry in rails form从rails表单中的逗号分隔条目创建多个记录
【发布时间】:2014-01-24 19:00:57
【问题描述】:

我看过这两个 SO 讨论,但它对我不起作用

1) Creating multiple records at once from comma seperated IDs

2) How to accept comma-delimited list to build tags for model?

我正在尝试从表单中获取单个字符串并创建多个活动记录条目,并用逗号分隔

表格:

<%= form_for @tag, html: {:class => "form-horizontal" } do |f| %>               
            <fieldset>
              <div class="form-group">
                <%= f.label :tagname, "Tag Name", :class => "col-lg-3 control-label" %>     
                <%= f.text_field :tagname, :class => "form-control" %>                       
              </div>      

              <div class="form-group">                      
                  <%= f.submit class: 'btn btn-primary' %>
              </div>
                  <%= link_to 'Back', tags_path %> |
                  <%= link_to 'Home', :userroot %>   
            </fieldset>
<% end %>

控制器:

def create
@tag = params[:tagname].split(/,\s*/)
@tag.each do |t|
  newtag = Tag.new(:tagname => t)
  newtag.save
end
redirect_to tags_path
end

错误:

NoMethodError in TagsController#create 

undefined method `split' for nil:NilClass

Request 
Parameters:
{"utf8"=>"✓",
 "authenticity_token"=>"RwjDJ9WQD6nJ51AymbSBubcmDbzDNTYWot0nP1FPV04=",
 "tag"=>{"tagname"=>"a new tag, two tag, three tag"},
 "commit"=>"Create Tag"}

【问题讨论】:

  • 你检查你的参数了吗?您的逗号分隔字符串可能在 params[:tag][:tagname]
  • 我知道它必须是那么简单...谢谢。请张贴作为答案,这样我就可以给你信用

标签: ruby-on-rails


【解决方案1】:

你检查过你的参数吗?您的逗号分隔字符串可能在

params[:tag][:tagname]

一定要检查字符串是否为空,你不能指望用户的完美行为。

GL 和 HF。

【讨论】:

    猜你喜欢
    • 2020-04-17
    • 1970-01-01
    • 2012-07-26
    • 2013-03-06
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多