Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 的Rails嵌套表单有多个:通过关联_Ruby On Rails_Forms_Associations_Nested Forms - Fatal编程技术网

Ruby on rails 的Rails嵌套表单有多个:通过关联

Ruby on rails 的Rails嵌套表单有多个:通过关联,ruby-on-rails,forms,associations,nested-forms,Ruby On Rails,Forms,Associations,Nested Forms,我是rails新手,正在尝试制作一个应用程序。我几乎完成了用户注册表单的实现,我只剩下一个让我感到困惑的部分。用户应该能够选择他们所说的语言,然后是他们对该语言的流利程度 我有三个模型,用户模型、语言模型和流畅性模型,这是我的联接表。到目前为止,我似乎成功地创建了一个(预填充和固定)语言的复选框,并且我能够创建一个新用户,该用户具有与流利度相关的记录,但流利度级别为零。用户应该能够通过一个固定的整数范围指示他们对每种复选框语言的流利程度 我应该如何设置流利程度,是否需要更新新方法或控制器中的任何

我是rails新手,正在尝试制作一个应用程序。我几乎完成了用户注册表单的实现,我只剩下一个让我感到困惑的部分。用户应该能够选择他们所说的语言,然后是他们对该语言的流利程度

我有三个模型,
用户
模型、
语言
模型和
流畅性
模型,这是我的联接表。到目前为止,我似乎成功地创建了一个(预填充和固定)语言的复选框,并且我能够创建一个新用户,该用户具有与流利度相关的记录,但流利度级别为零。用户应该能够通过一个固定的整数范围指示他们对每种复选框语言的流利程度

我应该如何设置流利程度,是否需要更新
新方法或控制器中的任何方法?任何帮助都将不胜感激。非常感谢。我还将在下面包括一些相关代码

我的车型

#用户模型
类用户<应用程序记录
有很多:流利
通过流利程度掌握多种语言
结束
#语言模型
类语言<应用程序记录
有很多:流利
有很多:用户,通过::流利度
结束
#流畅模型
课堂流利程度<应用记录
属于:用户
属于:语言
结束
我的当前用户注册表单复选框

<%= form.label :language, 'Languages spoken' %>
  <%= form.collection_check_boxes(:language_ids, Language.all, :id, :lang) do |b| %>
    <%= b.label class:"label-checkbox" do%> 
    <%=b.check_box + b.text%> 
  <%end%> 
<% end %>


接受嵌套的属性,因为
是您要寻找的。感谢你给Emu的建议,我确实尝试过实现它,但结果并不正确。似乎我能在网上找到的就是为这两个模型创建两个新实体。我还在努力!你需要完全重组你的表单,这样你就可以选择添加一种语言,用户可以使用一个集合选择语言,并选择相关的流利程度,如前所述,接受\u嵌套的\u属性\u将帮助你做到这一点,但首先要让表单看起来正确,用一张纸和一支笔画出来。这是一个旧的railscast,但演示了您需要执行的操作,语法已更改
接受嵌套的属性\u。感谢你给Emu的建议,我确实尝试过实现它,但结果并不正确。似乎我能在网上找到的就是为这两个模型创建两个新实体。我还在努力!你需要完全重组你的表单,这样你就可以选择添加一种语言,用户可以使用一个集合选择语言,并选择相关的流利程度,如前所述,接受\u嵌套的\u属性\u将帮助你做到这一点,但首先要让表单看起来正确,用一张纸和一支笔画出来。这是一个旧的railscast,但演示了您需要执行的操作,语法已更改