HAML - 如何创建链接以便它们转到正确的控制器?

时间:2012-04-20 16:53:34

标签: ruby-on-rails devise haml

我有一些我想在HAML中工作的链接

  =link_to("My Disclosures", "") << ' |'
  =link_to("Create Disclosure", "#") << ' |'
  =link_to("My Programs", "#") << ' |'
  =link_to("Log Out", "sign_out")

我不知道该怎么办是链接到我的不同控制器动作。

以下是我的路线:

scope :module => :mobile, :as => :mobile do
    constraints(:subdomain => /m/) do
      devise_for :users, :path => "", :path_names =>
               { :sign_in => "login", :sign_out => "logout",
                 :sign_up => "signup" },
                 :controllers => {:sessions => "mobile/sessions"}

      resources :home

      resources :disclosures # Will have new, get, look up a disclosure
    end
  end

所以我认为我的log_out路径会起作用,但它似乎无法正常工作。

另外,我有一个非常简单的控制器:

class Mobile::DisclosuresController < ApplicationController

  def new
    Rails.logger.debug "-"*100
    Rails.logger.debug session.inspect
    Rails.logger.debug "-"*100

    respond_to do |format|

    end
  end

  def create

  end

  def destroy

  end
end

但是我不确定如何制作HAML链接,以便它们导致我需要进行的各种控制器操作。任何有关如何正确链接到控制器的帮助都将非常感激。

1 个答案:

答案 0 :(得分:3)

使用rake routes获取所有路线的列表,包括其名称。使用这些名称并附加“_path”以获取该路径的路径。

你应该能够披露这样的信息:

=link_to "My Disclosures", disclosures_path