因此,我有一个RailsApp,我决定为我的用户做一个嵌套控制器,称为后台。
我的索引路由运行良好,但当我尝试编辑或创建用户时,我得到以下错误:
NoMethodError in Backoffice::Users#new
undefined method `users_path' for #<#
<Class:0x007efc6d4fd1c8>:0x007efc6cd38708>
Did you mean? user_session_path
以下是我的路线:
Rails.application.routes.draw do
resources :adv
使用Rails 6,但这应该适用于任何支持Rails反向链接的Rails版本。下面是代码:
# posts/new.html.erb
<%= link_to "Back", :back %>
<%= form_with model: @post do |form| %>
...
<% end %>
以下是页面流:
主页->查看新->单击新->返回到-> ->查看->新建(/ Post / New ) ->提交空表单->返回到Post New (/ Post / New ),错误(因为验证失败
我正在按照rails指南中的入门部分来建立一个博客。我已经到达了第一个表单5.2部分,当我加载页面时,我得到:
NoMethodError in Articles#new
Showing C:/Sites/blog/app/views/articles/new.html.erb where line #1 raised:
undefined method `form_with' for #<#<Class:0x8a44a18>:0xaf1d990>
Extracted source (around line #1):
<%= form_with s
Rails 5.1.3
在rails中的路由文件中有一组命名空间的路由:
Rails.application.routes.draw do
get 'page/index'
namespace :admin do
resources :pages
resources :sections
end
get '*page', to: 'page#index'
root 'page#index'
# For details on the DSL available within this fi
我使用的是Rails6。我有一个定义get请求的路由: namespace :admin do
get '/machines/search', to: 'machines#search', as: 'search_machines'
end 然后,我有一个将url设置为route的form_with。加载表单时,为表单生成的超文本标记语言包含一个method="post",而不是我所期望的method="get",因为路由是GET请求而不是POST。我可以将method: "get"参数添
我知道这是一个超级noobie问题,我现在正在学习rails。我正在跟踪Rails指南的入门,并且正确地遵循了每一步,但是当我进入“第一个表单”部分时。它似乎一直给我一个"NoMethodError in Articles#new“错误消息。以下是完整的错误:
undefined method `form_with' for #<#<Class:0x007f31e8904248>:0x007f31dc290b70>
Did you mean? form_tag
以下是表单代码:
<%= form_with scope: :articles, lo
我是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&
我使用rails 5并设置路由,在控制台中键入rake路由,结果是:
Prefix Verb URI Pattern Controller#Action
new_report_templates GET /report_templates/new(.:format) report_templates#new
edit_report_templates GET /report_templates/edit(.:format) report_templates#edit
report_templates GET /report_te
我刚从Rails 5.1升级到5.2。我有很好的测试覆盖与一个应用程序,已经生产了几个月,没有问题。
我在Rails 5.1中使用form_with已经有几个月了。form_with的默认情况是,默认情况下所有表单都是AJAX,必须指定local: true才能具有正常的HTTP请求。
升级到Rails 5.2之后(我遵循了升级指南),我遇到了一种情况,即我的一些表单不再以AJAX请求的形式提交,除非我专门向它们添加了local: false。
滚动到代码片段的末尾,查看工作的附加local: false。代码直接从应用程序中取出来,不作任何修改。
# This will not work a
我试图使用form_with向我的控制器发送一个简单的信息,但是应用程序没有识别我的post类型的路由,即使它已经创建了。
#routes.rb
Rails.application.routes.draw do
https://guides.rubyonrails.org/routing.html
get 'report_client', to: 'report_client#index'
post 'report_client', to: 'report_client#create'
root "h
谢谢我能在这里提出问题。我使用rails 5.1.4和ruby 2.5.0。我有两个模型:A型和B型。
Model A has_many bs
Model B belongs_to a
管理员-用户可以生成新的a-条目,他可以生成新的b-条目。非管理员用户可以显示、索引或预订。
routes.rb
resources :as, only: [:index, :show] do
resources :bs, only: [:index, :show, :reserve]
end
namespace :admin do
resource