Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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
Html 如何在RubyonRails中以正确的方式将参数从视图传递到控制器_Html_Ruby On Rails_View_Controller_Erb - Fatal编程技术网

Html 如何在RubyonRails中以正确的方式将参数从视图传递到控制器

Html 如何在RubyonRails中以正确的方式将参数从视图传递到控制器,html,ruby-on-rails,view,controller,erb,Html,Ruby On Rails,View,Controller,Erb,我有一些时间使用Rails,但我有一个问题,不知道如何解决 有一个模型X和一个模型YW,它们之间有一个关节模型 我需要将X和X_-yw_属性作为参数的一部分从视图传递到控制器,但我不知道如何在html中建立属性名称的正确方式 我们的想法是: "x" => { "name"=>"Name 1", "description"=>"Descripción 1", "status"=>"true", "x_yw_attributes" =>[ {"y

我有一些时间使用Rails,但我有一个问题,不知道如何解决

有一个模型X和一个模型YW,它们之间有一个关节模型

我需要将X和X_-yw_属性作为参数的一部分从视图传递到控制器,但我不知道如何在html中建立属性名称的正确方式

我们的想法是:

"x" => {
"name"=>"Name 1", "description"=>"Descripción 1", "status"=>"true",
"x_yw_attributes" =>[
            {"yw_id"=>"15", "range"=>"[1,2,3,5]", "payment" => "[2,3,4,5,6,7]"},  
            {"yw_id"=>"17", "range"=>"[1000,2000,3000,5000]", "payment" => "[20,30,40,50,60,70]"},
            {"yw_id"=>"19", "range"=>"[10000,20000,30000,50000]", "payment" => "[200,300,400,500,600,700]"}
           ], 
"categories_ids"=>["", "2", "", "5", "5"]
}
我知道如何处理类别,例如:

<input type="checkbox" name="x[category_ids][]" value="2" checked="checked">
<label for="category_2">Category 2</label>

第2类
让我知道我应该如何写name属性,否则我需要更多信息。
Thaks寻求帮助。

您可以查看更详细的文档
从你的问题中,我不知道你想把信息存储在哪里,在YW还是联合表中?
如果要在YW中存储数据,可以先为:YW设置
accepts\u nested\u attributes\u,然后将
YW\u attributes
传递给控制器
强参数将类似于:

def x_参数
参数requires(:x).permit(:name,:description,:status,yw_属性:[:id,:range,:payment,:_destroy])
结束
您编写的代码看起来像是在join_表中存储信息。如果您希望这样做,请将:id添加到x_yw_属性中,以指示您希望更新而不是创建它们

你也可以查看Ryan B。他结合了一些javascript代码,使生活更轻松