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 Rails 4-选择标签传递参数到控制器_Ruby On Rails_Ruby_Ruby On Rails 4_Html Select - Fatal编程技术网

Ruby on rails Rails 4-选择标签传递参数到控制器

Ruby on rails Rails 4-选择标签传递参数到控制器,ruby-on-rails,ruby,ruby-on-rails-4,html-select,Ruby On Rails,Ruby,Ruby On Rails 4,Html Select,我有两个模型,Posts和Teams,当用户创建帖子时,我希望用户选择它应该属于哪个团队。我想用选择标签来完成。我目前拥有的是(我使用的是HAML): 在我的控制器中: def create # I want to pass :team_id here, but I'n not sure how... @team = current_user.teams.find post_params[:team_id] @post = @team.posts.build post_params

我有两个模型,
Posts
Teams
,当用户创建帖子时,我希望用户选择它应该属于哪个团队。我想用
选择标签
来完成。我目前拥有的是(我使用的是HAML
):

在我的控制器中:

def create

  # I want to pass :team_id here, but I'n not sure how...
  @team = current_user.teams.find post_params[:team_id]
  @post = @team.posts.build post_params
  @post.user = current_user
这给了我以下错误:

Couldn't find Team without an ID

注意

我以前使用单选按钮来实现这一点,它看起来像这样(并且有效):


那么,如何使用
select_标记实现同样的效果呢?

我假设
team_id
post
的一个属性,所以当您创建一个post记录时,您将所有post参数包装到post散列中,类似于
:post=>{:title=>'Some title',:team_id=>1}
等。。所以
team\u id
post
中:

@team = current_user.teams.find(params[:post][:team_id])

你能告诉我们你的
post_params
方法吗?几乎正确,但我的方向是正确的<代码>:团队id不在post哈希中。这反而起了作用:
@team=current_user.teams.find(params[:team_id])
好吧,幸好它起了作用,如果我有权访问请求日志,我本可以给你一个更好的答案。干杯;)
- current_user.teams.each do |team|
  = f.radio_button 'team_id', team.id
  = team.name
@team = current_user.teams.find(params[:post][:team_id])