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])