[英]What am I doing wrong with a dropdownlist in rails?
我把它們放在上下文中,我來自智利,我正在構建一個預訂引擎,我需要在引擎中定義客戶的當前帳戶,為此我制作了一個列表並將其放在 select 中,它給了我#ActionView::Base:0x00000000024478 的以下錯誤未定義方法`current_acounts_path' 你是說嗎? current_accounts_path
我該如何解決這個問題謝謝我分享代碼謝謝
Controller
class CurrentAccountsController < ApplicationController
before_action :authenticate_user!
def index
@currentaccounts = CurrentAcount.all
end
def new
@currentaccount = CurrentAcount.new
@clients = Client.all
end
def create
@currentacount = CurrentAcount.new(set_params)
@currentacount.client_id = @client.id
if (@currentacount.save)
redirect_to current_accounts_path, notice: "Cuenta Corriente Guardada"
else
render :new
flash.alert = "No se pudo Guardar Cuenta Corriente"
end
end
def edit
end
def update
@currentaccount.client_id = @client.id
if (@currentaccount.update(set_params))
redirect_to current_accounts_path, notice: "Modificacion de Cuenta Corriente Guardada"
else
render :edit
flash.alert = "No se pudo Modificar la Cuenta Corriente"
end
end
def show
end
def destroy
if (@currentaccount.destroy)
redirect_to current_accounts_path, notice: "Eliminada Cuenta Corriente"
else
redirect_to current_accounts_path, notice: "No se pudo Eliminar Cuenta Corriente"
end
end
private
def set_params
params.require(:current_acount).permit(:mail, :client_id, :number, :bank, :city, :telephone_contact, :type_account)
end
def set_client
@client = Client.find(params[:client_id])
end
end
Model
class CurrentAcount < ApplicationRecord
belongs_to :client
end
形式
<%= simple_form_for @currentaccount do |f| %>
<%= f.association :client, collection: @clients.map { |c| [c.name, c.id] } %>
<%= f.input :number, label: "Numero cuenta Corriente" %>
<%= f.input :type_account, prompt:"Elija tipo de cuenta", collection: ["Cuenta Correinte", "Cuenta Vista", "Cuenta de Ahorro"]%>
<%= f.input :bank, prompt:"Elija un Banco", collction: ["Banco de Chile", "Banco Internacional", "Scotiabank Chile ", "BCI", "Corpbanca", "Bnaco BICE", "HSBC Bank (Chile)", "Banco Santander-Chile", "Banco Itaú Chile", "Banco Security", "Banco Falabella", "Deutche Bank (Chile)", "Banco Ripley", "Rabobank Chile", "Banco Consorcio", "Banco Penta", "Banco Paris", "Banco Bilbao Vizcaya Argentaria, Chile (BBVA)", "Banco BTG Pactual Chile", "BancoEstado", "Banco Do Brasil S.A.", "JP MORGAN BANK, N.A.", "Banco de La Nacion Argentina", "The Bank of Tokyo-Mitsubishi UFJ, LTD"] %>
<%= f.input :city, label: "Ciudad"%>
<%= f.input :telephone_contact, label: "Telefono"%>
<%= f.input :email_contact, label: "Email"%>
<%= f.submit "Agregar" %>
<%= link_to "Volver", current_accounts_path(@reservation.client_id) %>
<% end %>
謝謝大家
更改您的 model 以獲得正確的拼寫。 命名需要一致:
CurrentAccount # model
resources :current_accounts # routes
models/current_account.rb # filenames and
views/current_accounts/ # directories are also important.
@current_accounts # instance variables; less important,
@current_account # but why make them different.
運行生成器以獲取默認設置:
$ bin/rails generate scaffold_controller CurrentAccount
只是要注意幾個地方:
@currentaccounts = CurrentAcount.all
# ^^ ^
@currentaccount = CurrentAcount.new
# ^^ ^
@currentacount = CurrentAcount.new(set_params)
# ^ ^
實際錯誤來自表單生成器,因為它使用CurrentAcount
model 為表單操作生成 URL:
<%= simple_form_for @currentaccount do |f| %>
# which is trying to get the url
<%= url_for @currentaccount %>
# which is trying to call a named route based on the class name
# something like this:
<%= send "#{@currentaccount.model_name.route_key}_path" %>
# => undefined method `current_acounts_path'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.