2012-02-14 3 views
1

Итак, я все еще с отказом от ответственности, что я, наконец, начал изучать Rails около недели назад ...как бы вы это сделали в Rails?

Я работаю над созданием приложения, которое будет отображать события для нескольких групп, с которыми я работаю. Каждое мероприятие будет проходить в одном месте, и в каждом заведении будет много мероприятий. Это отражено в моей модели прямо сейчас как ...

class Venue < ActiveRecord::Base 
    has_many :events 
end 

class Event < ActiveRecord::Base 
    belongs_to :venue 
end 

Простое право?

Проблема, с которой я пытаюсь обернуть свою голову, - как это должно происходить при вводе данных? Настройка показала бы, что пользователь создаст место встречи, а затем добавит к нему событие. Тем не менее, событие действительно является фокусом здесь для меня. Рабочий процесс для ввода этих данных наиболее логично: 1) введите дату 2) введите город/штат 3) выберите место для этого города. Некоторые объекты уже будут в системе, а другие - нет. Когда пользователь начнет вводить имя места встречи после заполнения данных местоположения, форма начнет предлагать различные места, соответствующие местоположению и типу (бог знает, как я сделаю эту работу, но это проблема еще на одну ночь). Все данные о местоположении для события хранятся в таблице «Место проведения». В таблице Event хранится только специфика для этого события (дата, место_события, artist_id и т. Д.).

Вы только что создали бы это с помощью формы для модели Venue & use fields_for для модели Event? Думаю, это кажется самым лучшим, но это просто кажется неправильным в моей голове. Чем больше я набираю, тем больше я чувствую, что я передумал, но было бы неплохо получить некоторую обратную связь о том, как вы это настроили.

Благодаря

ответ

0

Так вы говорите, событие действительно фокус, я хотел бы сделать form_for @event. Пусть пользователь вводит дату, исполнитель, описание и любые другие данные, относящиеся к конкретным событиям, а затем используйте какой-то jQuery auto-complete plugin для места проведения. Этот автокомплексор должен будет присвоить venue_id скрытый ввод, который представлен как часть формы события, и это позаботится о создании ассоциации.