【发布时间】:2021-02-05 09:10:22
【问题描述】:
我是 Ruby on Rails 的新手。
我有这个控制器:
class MynewsController < ApplicationController
skip_before_action :authenticate_user!
def new
end
def show
end
def create
render plain: params[:mynew].inspect
end
end
routes.rb 中的这一行:
resources :mynews
还有这个 new.html.erb 文件:
<h1>New Mynews</h1>
<%= form_with scope: :mynew, local: true do |form| %>
<p>
<%= form.label :title %><br>
<%= form.text_field :title %>
</p>
<p>
<%= form.label :body %><br>
<%= form.text_area :body %>
</p>
<p>
<%= form.submit %>
</p>
<% end %>
它显示表单,当我点击提交时,它显示预期的No route matches [POST] "/mynews/new" 错误
问题是当我在 form_with 行中添加 url 参数时:
<%= form_with scope: :mynew, url: mynews_path, local: true do |form| %>
http://localhost:3000/mynews/new 不显示表单并给出
No route matches {:action=>"show", :controller=>"mynews"}, missing required keys: [:id]
错误。
我找不到问题所在。你能帮帮我吗?
【问题讨论】:
标签: ruby-on-rails