2014-07-16 33 views
0

我有兩個模型,PostsTeams,當用戶創建一個帖子時,我希望用戶選擇它應該屬於哪個團隊。我想用select_tag來做。 (我用HAML)我現在擁有的是:Rails 4 - select_tag傳遞參數給控制器

= f.label :team_id, "Select team" 
= select_tag :team_id, options_from_collection_for_select(current_user.teams, :id, :name) 

在我的控制器:

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 

注意

我以前使用的單選按鈕來實現這一點,它看起來像這樣(和工作):

- current_user.teams.each do |team| 
    = f.radio_button 'team_id', team.id 
    = team.name 

那麼,如何才能實現我使用select_tag是一回事嗎?

+0

你能向我們展示你的'post_params'方法? – JTG

回答

1

我認爲team_idpost屬性,所以當你創建一個帖子記錄你都post數據包裝成後散,像:post => {:title => 'Some title', :team_id => 1}等..所以team_id裏面post

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

幾乎正確,但只有我在正確的方向。 ':team_id'不是我在後期哈希。這相反:'@team = current_user.teams.find(params [:team_id])' – Anders

+0

嗯,它的工作很好,我可以給你一個更好的答案,如果我有權訪問請求日誌。乾杯;) – rmagnum2002

相關問題