Я делаю приложение со всеми названиями моделей на испанском языке. У меня возникли некоторые странные проблемы, связанные с сингуляризацией. Моя модель:
class Artista < ActiveRecord::Base
attr_accessible :fecha, :foto, :instrumento, :nombre
end
Мое имя модели "artista" (художник) в единственном числе.
Контроллер:
class ArtistasController < ApplicationController
# GET /bandas
# GET /bandas.json
def index
@artistas = Artista.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @artistas }
end
end
def show
@artista = Artista.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @artista }
end
end
def new
@artista = Artista.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @artista }
end
end
def edit
@artista = Artista.find(params[:id])
end
def create
@artista = Artista.new(params[:artista])
respond_to do |format|
if @artista.save
format.html { redirect_to @artista, notice: 'Artista was successfully created.' }
format.json { render json: @artista, status: :created, location: @artista }
else
format.html { render action: "new" }
format.json { render json: @artista.errors, status: :unprocessable_entity }
end
end
end
def update
@artista = Artista.find(params[:id])
respond_to do |format|
if @artista.update_attributes(params[:banda])
format.html { redirect_to @artista, notice: 'Artista was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @artista.errors, status: :unprocessable_entity }
end
end
end
def destroy
@artista = Artista.find(params[:id])
@artista.destroy
respond_to do |format|
format.html { redirect_to artistas_url }
format.json { head :no_content }
end
end
end
(Все это было автоматически создано с помощью команд генерации рельсов)
Теперь мои маршруты включают следующее:
resources :artistas
Когда я получаю доступ к localhost:3000/artistas
, все работает отлично. Я вижу список уже созданных арицтов. Теперь, когда я нажимаю на существующего исполнителя (или после того, как я пытаюсь создать нового, меня перенаправляют на страницу шоу исполнителя) по какой-то странной причине он переходит на http://localhost:3000/artistum.3
(3 - это идентификатор исполнителя, на которого я нажал). Вывод для этого URL-адреса — совершенно пустая страница.
Я даже никогда не печатал слово artistum. Я не знаю, откуда оно взялось. Кроме того, у него есть точка вместо косой черты, чтобы отделить имя от идентификатора, поэтому я не знаю, как его перенаправить.
Я провел поиск в папке, содержащей все, и слово artistum существует только в файлах журнала.
Я предполагаю, что часть моего приложения каким-то образом думает, что "artista" во множественном числе, а "artistum" - в единственном числе.
Я добавил к своим маршрутам match '/artistum' => 'artistas#index'
and, это работает для страницы индекса, но точка сбила меня с толку, как это сделать для страниц шоу.
Может ли кто-нибудь помочь мне: а) выяснить, почему он пытается туда попасть, или б) как перейти с этих выставочных страниц? Спасибо!
link_to
для каждого отдельногоArtista
? - person Benjamin Tan Wei Hao   schedule 25.11.2013