0
我有一個表單,我用於新建和編輯,以及索引和單擊新功能的窗體和編輯工作,但是當我去創建或更新窗體返回一個加載錯誤到另一個控制器。無法自動加載常量控制器
控制器是系統中的PathCreationsController,它想在另一個地方使用創作控制器,它想用它來定義它......這很奇怪,因爲我沒有任何設置要做。
我試着向表單添加一個url並設置要放的方法,但是當我這樣做並強制控制器正常工作時,它將數據庫中的所有參數設置爲null,所以我認爲這不是一種有效的方法解決這個問題。
這裏是控制器:
class System::PathCreationsController < ApplicationController
def index
@paths = Path::Account.all
end
def new
@paths = Path::Account.new
end
def edit
@paths = Path::Account.friendly.find(params[:id])
end
def create
@paths = Path::Account.new
if @paths.save
redirect_to system_path_creations_path(@paths)
end
end
def update
@path = Path::Account.find_by(slug: params[:id])
if @path.update
redirect_to system_path_creations_path(@path)
end
end
end
這裏是形式:
= form_for @paths do |f|
%br
.form-group
= f.label :name, class: 'control-label'
= f.text_field :name, class: 'form-control'
.form-group
= f.label :slug, class: 'control-label'
= f.text_field :slug, maxlength: 28, class: 'form-control'
.form-group
%p.text-muted Click to upload new icon.
.fileinput.fileinput-new{"data-provides" => "fileinput"}
%div
.fileinput-thumbnail.thumbnail{style: 'max-width: 100%;'}
.fileinput-preview{data: {trigger: "fileinput"}, style: 'max-width: 100%;'}
= image_tag @firms.try(:logo).try(:present?) ? @life_event.try(:logo).try(:url) : asset_path('/path.svg')
%div
%span.btn.btn-default.btn-file.btn-sm{style: 'display: none;'}
= f.file_field :logo, class: 'file'
= f.hidden_field :logo_cache
.form-group
= f.label :user_id
= f.select :user_id, User.all.collect {|u| [#{u.email}", u.id] }
= f.submit class: 'btn btn-primary btn-sm'
關於約定的一些注意事項 Rails尋找控制器(模型名稱複數形式)給定模型名稱的控制器,除非另有明確告知,所以對於模型路徑控制器將是PathsController並且路徑將沿着/路徑/ 其次:對數組和集合使用複數參數和對單個對象使用單個時態參數的好習慣(即Path :: Account.all的路徑,但Path :: Account.new的路徑 這有助於瞭解識別變量中的內容。 –
雖然這是正確的方式做到這一點,我現在得到的參數是空的地方 – codewarrior
你可以添加一個日誌文件的副本,顯示請求中傳遞了什麼參數? –