Simplenavigation - 如何创建动态菜单项?

时间:2011-11-15 17:17:55

标签: ruby-on-rails ruby ruby-on-rails-3

我正在尝试使用简单的导航创建动态菜单。

问题是该菜单仅适用于应显示动态菜单项的show动作。所有其他页面都会出错:

undefined method `model_name' for #<Class:0x9236118>

我已阅读此内容,但未找到任何解决方案:

https://github.com/andi/simple-navigation/wiki/Dynamic-Navigation-Items

我的navigation.rb:

sub_nav.item :virk, 'Virksomheder', virk_path, :link => {:style => 'font-weight:bolder;', :class => 'submini'} do |virknavn|
virknavn.item :virksom, @virksomhed.try(:name), url_for(@virksomhed), :highlights_on => /virksomheder\/[0-9]+/
end

我只想在下面突出显示virknavn菜单项:

/virksomheder/:some virksomhed name

我的处理器控制器:

  def index
    @virksomheds = Virksomhed.all
    render :layout => 'page'
  end

  # GET /webhosts/1
  # GET /webhosts/1.xml
  def show
    @virksomhed = Virksomhed.find(params[:id])
    render :layout => 'page'
  end

1 个答案:

答案 0 :(得分:0)

我确实设法弄清楚我只能在navigation.rb中设置if语句:

if params[:id].blank?
params[:id] = Virksomhed.first.id
end
@virksomhed = Virksomhed.find(params[:id])
if @virksomhed.blank?
@virksomhed = Virksomhed.first
end

它做了魔法。