【发布时间】:2021-08-14 02:44:45
【问题描述】:
尝试使用带有 Rails 的简单表单 gem 来 POST 到我的数据库 (postgresql)。我关注了一些视频,但我不完全确定出了什么问题。在我创建发布方法之前,我的表单工作(显然没有做任何事情)。
这是我得到的错误。
我马上就想到了路线问题。但是我的裂缝已经有一段时间了,无法修复。
undefined method `client_assets_path' for #<ActionView::Base:0x0000000000ccd8>
Did you mean? clients_new_path
这是我的repo,如果它对模型有帮助的话。
这是我的表格:
<%= simple_form_for @clients do |f| %>
<div class="form-inputs">
<%# Home %>
<%= f.input :ppor %>
<br>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %
这是我在客户端控制器中的方法:
class ClientController < ApplicationController
def index
@clients = ClientAsset.all
end
def new
@clients = ClientAsset.new
end
def create
@clients = ClientAsset.new(client_asset_params)
if @clients.save
redirect_to @clients
else
render :new
end
end
private
def client_asset_params
params.require(:id).permit(:ppor)
end
end
这是我的路线:
Rails.application.routes.draw do
devise_for :admins
root to: "planner#index"
get "/index", to: "planner#index", as: :index
get "/howto", to: "planner#howto", as: :howto
get "/products", to: "planner#products", as: :products
get "/planners", to: "planner#planners", as: :planners
get "/admins/sign_in", to: "admin#sign_in", as: :sign_in
get "/admins/sign_up", to: "admin#sign_up", as: :sign_up
devise_scope :admin do
get "/admins/sign_out" => "devise/sessions#destroy"
end
get "/admins/password/edit", to: "devise/password#edit", as: :edit
get "/dashboard", to: "client#dashboard", as: :dashboard
get "clients/new", to: "client#new"
end
【问题讨论】:
标签: ruby-on-rails devise simple-form