2015-04-27 3 views
0

В моем приложении Rails У меня есть модель под названием модулей приложений эта модель у меня есть поле, называемое состоянием, это моя модельИзменения только одно поля модели в Rails

class Application < ActiveRecord::Base 
    belongs_to :job 
    belongs_to :user 

    scope :new, where(:status => 'New') 
    scope :reviewed, where(:status => 'Profile Reviewed') 
    scope :offered, where(:status => 'Offer Given') 
    scope :accepted, where(:status => 'Offer Accepted') 
    scope :hired, where(:status => 'Hired') 
    scope :declined, where(:status => 'Decline') 

Я интересно, если это возможно чтобы изменить только статус в модальном (все состояние с флажком) на странице показа приложения, если это так, что это лучший способ сделать это, или состояние должно быть разделенной моделью

+0

Наличие столбца «status» с английскими ярлыками обычно является признаком того, что вы недостаточно денормировали свои данные. Лучше использовать код, например 'offer_given', или значение таблицы поиска для целей согласования данных. – tadman

ответ

1

Ваш метод update в контроллере не является обязал изменить все поля. Он может применять единственное изменение, если это все, что вам нужно. Это действительно зависит от параметров, передаваемых в Вы можете даже сделать метод изменения состояния, которая меняет только одно:.

def change_status 
    @application.status = params[:status] 
    @application.save! 
end 

Имейте в виду, когда речь идет со значениями раскрывающихся как это вы будете хотеть иметь проверку на ваша модель отклоняет недействительные выборы.

+0

Спасибо, это то, что я искал, и да, у меня есть проверка статуса, и я думаю использовать флажок в модальном, а не в выборе, считаете ли вы, что это хорошее решение? – rocki

+0

Как вы активируете изменение полностью зависит от вас, и флажок может выполнить эту работу. – tadman

+0

Хорошо, что вы за вашу помощь – rocki

Смежные вопросы