2014-02-18 34 views
0

我有一個@miniatures模型和@lines模型加入通過@minilines模型。Rails重定向到assoc模型後創建

@miniature show view我有這個鏈接

<%= link_to "Add to product line", new_miniline_path(:miniature_id => @miniature) %> 

要將New @miniline form從一個隱藏字段取:miniature_id像這樣

<%= f.hidden_field :miniature_id, :value => @miniature.id %> 

然後選擇從下拉列表中所需@line

這一切正常。我無法工作的是控制器在創建操作後將用戶重定向回原始的@miniature

這是我在我的newcreate行動控制器

def new 
    @miniline = Miniline.new(@miniature) 
    @miniature = Miniature.find(params[:miniature_id]) 
    @lines = Line.all 
    end 

    def create 
    @miniline = Miniline.new(miniline_params) 
    if @miniline.save 
     flash[:success] = "Miniature added to product line" 
     redirect_to miniature_path(@miniature) 
    else 
     flash[:success] = "Did not work!!!" 
     render 'new' 
    end 
    end 

我已經試過各種替代miniature_path(@miniature)像普通@miniatureminiature_path(:miniature_id),但無濟於事。我懷疑我的問題是:miniature_id傳遞給@minilines模型。任何幫助非常感謝,因爲我一直在頭撞了一兩個小時。

+0

你所說的「不行」是什麼意思?任何錯誤消息? – fotanus

回答

1
redirect_to miniature_path(@miniline.miniature) 

假設你有一個關聯設置。

您沒有設置@miniature在創建它是不起作用

你也可以做

redirect_to @miniline.miniature 
+0

就是這樣。大。出於某種原因,我不認爲你可以使用該協會,因爲你在那裏,但我想這是保存呃,保存它。多謝! – Ossie