【问题标题】:Rails adding new pages to exsisting scaffoldRails 向现有脚手架添加新页面
【发布时间】:2014-12-29 21:50:55
【问题描述】:

我使用脚手架并创建了一个控制器模型和视图部分,然后我想添加一个新页面,例如:搜索,所以我在其中创建了 search.html.erb

`views/myview/search.html.erb` 

并且在 routes.rb 我这样添加

 resources :myview ,:collection => {:search => :get}

在控制器中我添加了一个动作 def search end .. 但是当我转到 localhost:3000/myapp/myview/develop 时出现错误

Missing template myview/show, application/show with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: * "/path/app/views" * "/home/***/.rvm/gems/ruby-2.1.2/gems/devise-3.4.0/app/views"

我不想要一个显示页面我该如何解决这个问题?我想显示我的 search.html.erb 页面

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    这就是你应该如何声明你的路线:

    resources :myview do
      collection do
        get :search
      end
    end
    

    当您输入 localhost:3000/myapp/myview/develop 时,Rails 将其识别为 /myview/:id,这是预期的行为。如果您想添加额外的develop 操作,请先在routes.rb 中声明它。

    【讨论】:

      猜你喜欢
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多