Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 Formtastic和属于协会_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.1_Formtastic - Fatal编程技术网

Ruby on rails Formtastic和属于协会

Ruby on rails Formtastic和属于协会,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,formtastic,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Formtastic,我正在努力从实践中学习,需要一些帮助 因此formtastic可以处理属于关联(如Post-belishto:author),使用父模型中的选项呈现选定或一组无线电输入 我想做的是创建一篇文章,而不必在create表单中选择作者 我想通过一个隐藏的表单字段设置作者id,但当我尝试此操作时 <%= f.input :author, :as => :hidden, :value => '33' %> :hidden,:value=>'33'> 我得到了未初始化的常量作者

我正在努力从实践中学习,需要一些帮助

因此formtastic可以处理属于关联(如Post-belishto:author),使用父模型中的选项呈现选定或一组无线电输入

我想做的是创建一篇文章,而不必在create表单中选择作者

我想通过一个隐藏的表单字段设置作者id,但当我尝试此操作时

 <%= f.input :author, :as => :hidden, :value => '33' %>
:hidden,:value=>'33'>
我得到了未初始化的常量作者,并尝试了各种其他方法,但我没能开始工作

我得到的最接近的方法是尝试自定义选择并隐藏选择,如下所示:

<%= f.input :author, :as => :select, :collection => ["33"], :input_html => { :style => 'visibility: hidden' } %>
:选择,:collection=>[“33”],:input\u html=>{:style=>'可见性:隐藏'}%>
但即使上面隐藏了select和works,它仍然为author显示一个表单标签,我不希望它显示

下面是一个例子,可以更好地解释我的情况,如果我试图实现的目标仍然不清楚:

假设你有一个作者列表页面,作为一名作者,你点击自己的名字进入一个区域,在那里你可以管理各种事情并创建帖子

问题:当您单击“创建帖子”并呈现表单时,您不需要从其中一个字段中选择您的姓名来告诉应用程序您正在创建的帖子属于您,因为您希望系统知道它属于您,因为您位于属于您的配置区域中

我试图通过使用一个隐藏的表单字段来设置作者id,以便在用户提交表单时以正确的关联保存帖子


有人能给我举个例子说明如何做到这一点吗?作为一名学习者,也许有更好的方法来解决这个问题,所以请任何人提供建议并给我指出一些好的例子

你不应该在隐藏的表单字段中填充它;隐藏的表单字段仍然可以由用户更改,最终您允许用户创建其他作者的帖子

正确的方法是在PostsController的创建操作中指定
@post.author=current_user