0

我在我的控制器中有一個變量@category,我想將另一個變量@source傳遞給它。
例如。 @category = Category.find(params [:id => @ source]) 這可能嗎?Rails 4.2 - 將變量傳遞給。(params [:id])可能嗎?

在我的控制器:

def show 
    @article = Article.find(params[:id]) 
    @source = @article.category_id 
    @category = Category.find(params[:id]) 
end 

我的觀點:

<%= link_to @category, category_path(:id=>@source) %> 

我曾與各種連擊和方法周圍修修補補但沒有奏效。

@article屬於一個類別,並通過.category_id關聯。 @category有一個單獨的模型,我想通過@ article.category_id給@ category.find(params [:id])它的id。

我該怎麼去做這件事?

(這是落實到導航樹/麪包屑)

+0

你有沒有嘗試過'<%=的link_to @Category,category_path(@source)%>'?這應該讓鏈接工作,但你可能想訪問@category的屬性作爲link_to的第一個參數?像'<%= link_to @ category.name,category_path(@source)%>'? – 2015-03-03 05:20:33

+0

Helios我已經嘗試過,但ID不會傳遞給控制器​​。你對這個屬性是正確的,我正在使用@ category.title。 – nvrpicurnose 2015-03-03 14:37:53

回答

1

我想你想通過文章找到類別,然後你可以這樣做:

def show 
    @article = Article.find(params[:id]) 
    @category = @article.category 
end 

,因爲在條關聯模型。

現在看來,你可以使用:

<%= link_to @category.name, category_path(@category) %> 
+0

'link_to'的第一個參數應該是String。 '= link_to @ category.name,category_path(@category)'或者只是'= link_to @ category.name,@ category' – Santhosh 2015-03-03 09:23:01

+0

這幾乎可以工作,但是id無法傳遞(即使我嘗試了category_path(:id => @看起來像@ category不能訪問類別屬性,因爲當我嘗試link_to @ category.title時,它會拋出一個nomethoderror – nvrpicurnose 2015-03-03 14:43:11

+0

@Santhosh:更新了我的答案 – Kuldeep 2015-03-03 14:44:27