2011-04-07 5 views
0

레일 2.3.8. 여기 to_param을 변경하면 "모델"에서 오류가 발생합니다. _url

shop 모델의 to_param이다 : 나는 다음과 같은 #{id}/#{id}-을 변경하려고

def to_param 
    require 'unicode' 
    "#{id}-#{Unicode::normalize_KD("-"+name+"-").downcase.gsub(/[^a-z0-9\s_-]+/,'').gsub(/[\s_-]+/,'-')[0..-2]}".gsub(/-{2,}/,'-') 
    end 

:

def to_param 
    require 'unicode' 
    "#{id}/#{Unicode::normalize_KD("-"+name+"-").downcase.gsub(/[^a-z0-9\s_-]+/,'').gsub(/[\s_-]+/,'-')[0..-2]}".gsub(/-{2,}/,'-') 
    end 

난에서 다음과 같은 오류가 내 index.html.erb :

shop_url failed to generate from {:type=>"places", :action=>"show", :controller=>"shops", :id=>#<shop id: 16, shop_type: "fashion", name: "Shop1", shop_subtype: nil, ...} 

Extracted source (around line #54): 

51: 
52:    <% @shops.each do |shop| %> 
53:     <div id="<%= dom_id(shop) %>" class="item"> 
54:     <a href="<%= shop_path(shop, :type => @type) %>"> 
55:      <% if !shop.photos.blank? %> 
56:      <%= image_tag(shop.photos.last.url(:thumb), :class => 'thumbnail') %> 
57:      <% else %> 

URL을 shops/12-shop-abc에서 shops/12/shop-abc으로 변경하려고합니다. 사실 실제로 친숙한 ID를 사용하여 shops/shop-abc으로 변경하려고 시도하고 있지만 모두 실패합니다.

도와주세요. 감사.

답변

0

.은 정상적인 to_param에 대한 오류를 생성합니다. friendly_id로 해결되었습니다.

관련 문제