Ruby on rails 将附加表单数据发送到Rails`form_for`helper中的控制器

Ruby on rails 将附加表单数据发送到Rails`form_for`helper中的控制器,ruby-on-rails,forms,Ruby On Rails,Forms,如果我有一个用户模型,并且我使用: form_for@user,url:{controller::user,action::create}do | f | 我可以通过以下方式添加所需字段(例如): 但是在我正在处理的这个特定的管理页面上,我想将附加数据发送回我的控制器,这些数据不是用户模型的一部分,即 这给了我一个“undefined method some_info”错误 有没有一种方法可以让我的表单助手允许我设置额外的字符串,作为控制器逻辑的一部分使用?我们可以在rails中使用一个名为

如果我有一个用户模型,并且我使用:

form_for@user,url:{controller::user,action::create}do | f |

我可以通过以下方式添加所需字段(例如):

但是在我正在处理的这个特定的管理页面上,我想将附加数据发送回我的控制器,这些数据不是用户模型的一部分,即

这给了我一个“undefined method some_info”错误


有没有一种方法可以让我的表单助手允许我设置额外的字符串,作为控制器逻辑的一部分使用?

我们可以在rails中使用一个名为
attr\u accessor
的方法来定义不在指定模型中的额外字段

试着这样做:

在model.rb文件中添加以下行

attr_accessor :some_info
并将这一行添加到表单中

<%= f.text_field :some_info %>

@gFontaniva是正确的,而不是

将其从表单变量中排除,并使用tag方法,如下所示:

然后可以在表单模型的范围之外从控制器访问,因此可以访问第一个示例:

params[:用户][:一些信息]

第二个版本:

params[:一些信息]


完全符合我的需要。

我不知道我是否理解,但我认为您可以使用a在模型之外发送数据。