Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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分组\u集合\u选择值\u带参数的方法_Ruby On Rails_Ruby_Erb - Fatal编程技术网

Ruby on rails Rails分组\u集合\u选择值\u带参数的方法

Ruby on rails Rails分组\u集合\u选择值\u带参数的方法,ruby-on-rails,ruby,erb,Ruby On Rails,Ruby,Erb,有没有办法在Rails中对参数使用value\u方法 我试图根据当前用户筛选出几个选项(有效地使用类似于:signed\u by(current\u user))的选项),但我在传递它时遇到了一些困难 <%= f.grouped_collection_select :author_id, Author.posts, :signed_by, :title, :id, :email %> 有什么想法吗?在这种情况下,不可能将参数传递给value\u方法,因为value\u方法选项是

有没有办法在Rails中对参数使用
value\u方法

我试图根据当前用户筛选出几个选项(有效地使用类似于:
signed\u by(current\u user)
)的选项),但我在传递它时遇到了一些困难

<%= f.grouped_collection_select :author_id, Author.posts, :signed_by, :title, :id, :email %>


有什么想法吗?

在这种情况下,不可能将参数传递给
value\u方法
,因为
value\u方法
选项是“一个方法的名称,当调用集合成员的子对象时,该方法返回一个值作为其标记的内容”。换句话说,它只是一个字符串或符号,将在
Author.posts
集合中被调用

如果您试图过滤掉一些选项,我建议从集合中过滤它们,然后将过滤后的集合传递给此方法。比如:

#author_helper.rb
def过滤的作者帖子
Author.posts.where.not(签名人:当前用户)
结束

<%= f.grouped_collection_select :author_id, filtered_author_posts, :signed_by, :title, :id, :email %>