【问题标题】:Add default view for Rails Controller为 Rails 控制器添加默认视图
【发布时间】:2014-01-10 13:18:29
【问题描述】:

我目前没有索引视图 (app/views/mycontroller/index.html.erb),但如果用户只输入以下内容,我想指定一个默认视图:localhost:3000/mycontroller

对 RoR 非常陌生。我现在的config/routes.rb

MyTestApp::Application.routes.draw do
  get "team/thatguy"
  get "home/about"
  root :to => "home#about"
end

在我的控制器中,我一直在玩重定向,但所需的解决方案是只显示较小的 uri localhost:3000/mycontroller

app/controllers/home_controller.rb:

class HomeController < ApplicationController
  def index
    render "home/about"
  end

  def about
    @title = "My Title"
  end
end

【问题讨论】:

  • 当用户访问/mycontroller时,你想渲染哪个模板?
  • 我只有一个模板。这是一个非常基本的、完全静态的网站,只有一个联系表格。

标签: model-view-controller ruby-on-rails-4 routes


【解决方案1】:

好的,假设你想在访问localhost:3000/mycontroller时呈现一个联系页面

你想做的是:

  1. 使用接触动作创建一个控制器(MVC 的 C)。

    $ rails generate controller StaticPages contact

    在控制台中执行此代码会创建一些目录和文件:

    • static_pages_contoller.rb 带有联系操作。
    • static_pages 目录在app/views 目录下,带有一个名为contact.html.erb 的视图模板

    你的config/routes.rb中可能有get 'static_pages/contact'

  2. 修改你的路线:

    • 现在您可以通过以下方式访问联系人模板:localhost:3000/static_pages/contact
    • 所以要更改路径,在routes.rb 中添加一行:match '/mycontroller', 'static_pages#contact', via: 'get'
    • 然后你会得到你想要的结果。

我可能错了,整个过程和细节都在这里:http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

【讨论】:

  • 不幸的是,这不起作用:(。我现在正在阅读更多教程。我知道routes.rb中必须发生一些事情......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 1970-01-01
相关资源
最近更新 更多