Rails从文本区域获取每一行,并将其作为新资源

哈里·卢卡斯

我试图做到这一点,以便当用户点击几行代码时提交-每行将成为新资源,例如:

User inputs:
Code1
Code2
Code3
Code4

They hit submit

Now 4 new resources have been made for the code model

我读到另一个问题,我可以使用“拆分”方法,该方法是通过在“ \ n”上拆分它来尝试的,但是这种方法不起作用,由于某种原因,它试图进入创建视图并抛出错误。

这是我到目前为止的内容:

##Controllers/codes_controller.rb (partial)
class CodesController < ApplicationController
############################################
                  #CREATING#
############################################                  
  def new
    @code = Code.new
  end

  def create
    array2 = code_params[:code].split("\n")
    array2.each do |f|
      @code = Code.new(params[f])


    if @code.save
      flash[:notice] = "Codes added"
      redirec_to(:action => 'index')
    else
      render('new')
    end
  end
  end

  private

  def code_params
    params.require(:code).permit(:id, :user_id, :code, :created_at, :updated_at)
  end
end

我的表格

#views/codes/new.html.erb
<%= simple_form_for @code do |f| %>
  <%= f.input :code, :label => "Codes (make sure each one is on a new line)", :input_html => { :rows => 50, :cols => 75 } %>
  <%= f.button :submit %>
<% end %>

我将如何做到这一点,从而做到我正在尝试的?

更新**

由于某种原因,错误消息已更改-这是我现在得到的错误:

Render and/or redirect were called multiple times in this action. Please note that you may only call render OR redirect, and at most once per action. Also note that neither redirect nor render terminate execution of the action, so if you want to exit an action after redirecting, you need to do something like "redirect_to(...) and return".

同样,它似乎正在保存一些代码,但实际上并没有保存有关该代码的任何信息(例如实际代码),而是仅创建一个带有ID的新代码,仅此而已。

马诺吉·蒙加(Manoj Monga)

您的代码几乎没有问题,因为:

  • 当textarea使用回车符(即“ \ r \ n”)时,您正在(\ text)上拆分代码参数(来自textarea)。
  • 您尝试在循环中调用render / redirect_to,这意味着它将多次执行,这是错误提示。

因此,您需要在回车符上拆分代码,并且由于您想一次保存多个代码并同时显示错误或成功消息,因此可以添加添加标记以跟踪失败的添加操作,或者添加一个数组@erroneous_codes或附加其中失败的代码。最后,您可以检查数组是否为空,这意味着已添加所有代码。

def create
  array2 = code_params[:code].split("\r\n")
  @erroneous_codes = []
  array2.each do |f|
    @code = Code.new(code: f)
    @erroneous_codes << f unless @code.save
  end

  if @erroneous_codes.blank?
    flash[:notice] = "All Codes are added successfully"
    redirect_to(:action => 'index')
  else
    flash[:error] = "Some codes could not be added: #{@erroneous_codes.join(', ')}"
    render('new')
  end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用户键入时修剪和编辑文本区域的每一行

来自分类Dev

如何从文本文件中获取每一行并将其放入网站表中?

来自分类Dev

如何使用光标位置作为最后一行分割文本区域的值

来自分类Dev

获取有关每一行的统计信息并将其放入新列中。大熊猫

来自分类Dev

从文本区域框中获取文本,并将其放入div

来自分类Dev

sed backreference:获取每一行并将其附加到行尾

来自分类Dev

获取html表的每一行的值并将其存储在变量中以供以后使用

来自分类Dev

读取每一行并将其用作输入

来自分类Dev

插入号位于文本区域的第一行吗?在最后一行?

来自分类Dev

如何从文本区域(其中每一行都是一条记录)一次将很多记录全部插入数据库?

来自分类Dev

从三角形的每一行中获取最大的数字并将其求和

来自分类Dev

从三角形的每一行中获取最高的数字并将其求和

来自分类Dev

创建一个接受HTML作为Rails红宝石输入的文本区域

来自分类Dev

是否可以将光标锁定/聚焦到文本区域的最后一行?

来自分类Dev

如何将标签标签带到文本区域的第一行?

来自分类Dev

是否可以将光标锁定/聚焦到文本区域的最后一行?

来自分类Dev

IE 11中的文本区域选择在最后一行上无法正常工作

来自分类Dev

如何触发键盘输入事件以在文本区域的下一行添加缩进

来自分类Dev

如何仅显示与文本区域最后一行匹配的字符串

来自分类Dev

Powershell 5.1解析json以获取特定键,并将其值作为行分隔文本写入新的.txt文件中

来自分类Dev

获取文本元素的每一行

来自分类Dev

如何计算回归系数并将其放入表格的每一行

来自分类Dev

计算每一行的字符并将其划分为列数

来自分类Dev

创建评分函数并将其应用于R中的每一行

来自分类Dev

计算值在 R 中出现的次数(并将其附加在每一行中)

来自分类Dev

如何创建计算球队比赛次数的列表,并将其存储在 DataFrame 的每一行中

来自分类Dev

如何让css在同一行中并排排列标签,文本框和文本区域

来自分类Dev

跳转到 textarea 的下一行,因为我不希望文本到达文本区域的末尾

来自分类Dev

在文本区域将新行更改为<br>

Related 相关文章

  1. 1

    用户键入时修剪和编辑文本区域的每一行

  2. 2

    如何从文本文件中获取每一行并将其放入网站表中?

  3. 3

    如何使用光标位置作为最后一行分割文本区域的值

  4. 4

    获取有关每一行的统计信息并将其放入新列中。大熊猫

  5. 5

    从文本区域框中获取文本,并将其放入div

  6. 6

    sed backreference:获取每一行并将其附加到行尾

  7. 7

    获取html表的每一行的值并将其存储在变量中以供以后使用

  8. 8

    读取每一行并将其用作输入

  9. 9

    插入号位于文本区域的第一行吗?在最后一行?

  10. 10

    如何从文本区域(其中每一行都是一条记录)一次将很多记录全部插入数据库?

  11. 11

    从三角形的每一行中获取最大的数字并将其求和

  12. 12

    从三角形的每一行中获取最高的数字并将其求和

  13. 13

    创建一个接受HTML作为Rails红宝石输入的文本区域

  14. 14

    是否可以将光标锁定/聚焦到文本区域的最后一行?

  15. 15

    如何将标签标签带到文本区域的第一行?

  16. 16

    是否可以将光标锁定/聚焦到文本区域的最后一行?

  17. 17

    IE 11中的文本区域选择在最后一行上无法正常工作

  18. 18

    如何触发键盘输入事件以在文本区域的下一行添加缩进

  19. 19

    如何仅显示与文本区域最后一行匹配的字符串

  20. 20

    Powershell 5.1解析json以获取特定键,并将其值作为行分隔文本写入新的.txt文件中

  21. 21

    获取文本元素的每一行

  22. 22

    如何计算回归系数并将其放入表格的每一行

  23. 23

    计算每一行的字符并将其划分为列数

  24. 24

    创建评分函数并将其应用于R中的每一行

  25. 25

    计算值在 R 中出现的次数(并将其附加在每一行中)

  26. 26

    如何创建计算球队比赛次数的列表,并将其存储在 DataFrame 的每一行中

  27. 27

    如何让css在同一行中并排排列标签,文本框和文本区域

  28. 28

    跳转到 textarea 的下一行,因为我不希望文本到达文本区域的末尾

  29. 29

    在文本区域将新行更改为<br>

热门标签

归档