2017-08-03 32 views
1

靜態控制器從同一領域抓取屬性:使用相同的字段的ID

def show 
    @product = ProductAttribute.where('value = ?', helpers.value_check(:prod_id)) 
end 

module StaticsHelper 
    def value_check(id) 
    @product = Product.find_by(id: id) 
    return @product.value 
    end 
end 

我試圖獲取從產品模型的數值屬性。此值屬性是模型「產品」和「產品屬性」之間使用的主鍵。

index.html.erb靜態視圖的:

<% @products.each do |product| %> 
    <li> 
    <%=link_to product.name, statics_show_path(prod_id: product.id)%> 
    </li> 
<% end %> 

<%= link_to "New Product", statics_new_path %>'  

我在做什麼錯?

+0

你能發佈錯誤嗎? –

回答

0

而不是使用一個幫手來獲得這樣的方式記錄,你可以在控制器直接做:

product_value = Product.find(params[:prod_id]) 
@product = ProductAttribute.where('prod_id = ?', product_value.value) 

當你通過鏈接發送給prod_id,它會給你一個有效的值來獲得這樣的產品記錄及其價值屬性。

+0

非常感謝您的快速回答。 –

+0

但我仍然得到一個錯誤 –

+0

顯示/home/quitalizner/Workspace/testing/app/views/statics/show.html.erb在哪裏行#4提出: 未定義的方法'價值'爲# 你的意思是?值 提取的源(圍繞線#4): \t

<%= @ product_attribute.name%>

<%= @ product_attribute.value%>

Rails.root:/ home/quitalizner/Workspace/testing –