我以前做过,但是在向Rails服务器添加新页面和新路径时遇到麻烦。
非常,我想添加一个新页面,然后在下拉菜单中链接到该页面...但是我无法使更改生效并在我显示新路径/路线时遇到麻烦做“铁路路线”。
我之前在pages#offings的“ offerings”页面上已经做到了,但是似乎无法弄清楚如何重复相同的过程
我开始转到页面控制器,并添加了“ def public_speaking”和“ end”:
# GET request for / which is our home page
def home
@basic_plan = Plan.find(1)
@pro_plan = Plan.find(2)
end
def about
end
def offerings
end
def public_speaking
end
end
然后在Routes.rb中,我尝试使用相同的过程(将get'public_speaking'添加到:'pages#public_speaking')
root to: "pages#home"
devise_for :users, controllers: { registrations: 'users/registrations' }
resources :users do
resource :profile
end
get 'about', to: 'pages#about'
resources :contacts, only: [:create]
get 'contact-us', to: 'contacts#new', as: 'new_contact'
get 'offerings', to: 'pages#offerings'
get 'public_speaking', 'pages#public_speaking'
end
我还在views文件夹中创建了一个名称相同的文件“ public_speaking.html.erb”。
我在做错什么/错过了创建新路径的过程?是否有执行该链接的命令?
我希望创建一条新路线(因为它适用于“优惠”),但是它没有任何作用,我不确定为什么。我将重复此过程5至6页,所以我想确保可以正确完成操作
答案 0 :(得分:2)
我在您的routes
中看到,看来您的代码不正确。
您应该更改:
来自get 'public_speaking', 'pages#public_speaking'
到get 'public_speaking', to: 'pages#public_speaking'
答案 1 :(得分:0)
Khan Pham提供了正确的答案。似乎您在弄乱链接。
根据Ruby on Rails指南,正确的路线应为:
get 'public_speaking', to: 'pages#public_speaking'
其中to:
需要controller#action
格式。
然后您可以通过执行命令routes
来检查rake routes
,如果您的部件在那儿,则可以在视图中使用它,例如:
link_to('Public Speaking', public_speaking_path)
您可以阅读有关网址here的更多信息。祝你好运!