Link_to指向静态路由

时间:2016-01-20 19:32:39

标签: ruby-on-rails ruby-on-rails-4

我已经为简单页面创建了一个控制器页面和一些操作(例如,联系我们),然后我转到var bodyTag = new TagBuilder("div"); bodyTag.MergeAttribute("class", "modal-body"); bodyTag.MergeAttribute("style", "overflow-y: scroll;height:250px;"); bodyTag.SetInnerText(bodycontent); 并创建了一条路径,允许用户直接转到/ contactus,而不是/ pages / contactus。

如何将link_to指向操作,但仍然获得正确的路径网址?

4 个答案:

答案 0 :(得分:1)

get :contact_us, to: 'pages#contact_us'

get :contact_us, controller: :pages, action: :contact_us

这将生成路径contact_us_path或网址contact_us_url

HEARE MORE ABOUT ROUTES IN RAILS

答案 1 :(得分:0)

你可以这样做:

get '/contactus', to: 'pages#contactus'

您的链接可以是:

<%= link_to "Contact Us", contactus_path %>

有关详细信息,请参阅:http://guides.rubyonrails.org/routing.html#connecting-urls-to-code

答案 2 :(得分:0)

#config/routes.rb
resources :pages, path: "", only: [] do #-> has to be above everything in routes file
  collection do
     get :contact_us #-> url.com/contact_us
     get :about      #-> url.com/about
  end
end

root ...

You'd link to it as follows:

<%= link_to "Contact", pages_contact_us_path %>

答案 3 :(得分:0)

这是使用contactus控制器中的pages操作的简单路由的语法:

get '/contactus' => 'pages#contactus'

或者如果您想要一个更简单的路径名称:

get '/contactus' => 'pages#contactus', as: :contact