我收到错误
NoMethodError in Styles#new undefined method 'styles_path' for <Class:0x00000006288268>:0x0000000632ca20
如果我没有form_for
选项并且让我们说用Hello World替换整个代码段,它的效果非常好。
app / views / styles文件夹中的new.html.erb文件代码
<div class="row">
<div class="well col-md-8 col-md-offset-2">
<%= form_for @style do |f|%>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.submit 'Create style' , class: 'btn btn-success' %>
<%end%>
</div>
</div>
我将样式控制器定义为:
class StylesController < ApplicationController
def new
@style = Style.new
end
end
路线文件包含以下代码段
resources :styles, only: [:new,:show]
答案 0 :(得分:2)
从form_for
发布styles_path
(POST)上的表单来创建新样式,但是,在routes.rb
中,您只提到了new
和{ {1}}。您需要为show
添加一个,并且还需要在控制器中添加名为create
的新操作。
的routes.rb
create
控制器:
resources :styles, only: [:new, :show, :create]
推荐:您应该read this