![]() |
1
4
视情况而定。您正在向模型传递一个散列数据并说“理解这个”。
这是不好的,你是让模型做控制器的工作。一个合理的折衷方法是在模型上创建一个接受规范数据哈希的方法,然后在控制器中的参数和规范哈希之间进行转换:
尽管您应该确保仔细记录模型接受的数据散列的格式。实际上,我们甚至使用了YAML验证库( Rx )以确保模型只接受有效数据。 很抱歉回答太长,但我没有时间写一个简短的;)。 |
![]() |
2
1
我想肯定是的。 params散列有很多你的模型不需要的东西。基本上你忽略了MVC的C部分。你想做的事情会起作用(也就是说它会执行),但是我认为你应该把参数作为单独的实体传递进来。 |
![]() |
3
1
我建议传递params的一个子集,这样您只传递模型需要的内容。 在控制器中:
只需确保您的输入是“namespace”,这样您就可以得到一个嵌套的哈希:
|
![]() |
4
0
我不相信,但话说回来,我不是rails的老手。通常,params散列在控制器中使用,并且该操作可能读取和写入模型信息,也可能不读取和写入模型信息,因此我猜如果params要通过属于该模型的方法,则是相同的事情。 不管怎样,我认为您仍然需要通过控制器发送参数,所以为什么不在那里进行处理,然后通过模型的方法将处理后的数据发送到模型? |
![]() |
cluster1 · 采取独立的新行动的好处是什么? 8 月前 |
|
Robert · 使用JSON或哈希时,将NULL替换为NIL 8 月前 |
![]() |
Fred Willmore · Rails控制器不呈现任何模板 1 年前 |
![]() |
Diogo Amaral · 实现API请求的正确方式 1 年前 |
![]() |
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
![]() |
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
Flávio · 基于另外两个生成数组 1 年前 |