Итак, я новичок в Rails (учусь на старших курсах в старшей школе) и пытаюсь понять, как изменить эти строки.
Допустим, кто-то пишет в форме следующую строку: «Вы знаете, что вы гик, когда»
Как я могу автоматически изменить это на: "Вы знаете, что вы гик, когда ..."?
Мне нужно, чтобы Rails проверил регистр первой буквы и проверил наличие трех точек, а затем изменил строку при необходимости. Я посмотрел здесь , но не могу найти ничего, что сработало бы.
Большое спасибо!
РЕДАКТИРОВАТЬ: Я пытаюсь реализовать то, что предложил Рубен Маллаби, но у меня проблемы. Вот соответствующая часть файла lists_controller.rb, а ниже - метод в модели list.rb.
def update
@list = List.find(params[:id])
@list.fixlistname
respond_to do |format|
if @list.update_attributes(params[:list])
flash[:notice] = 'List was successfully updated.'
format.html { redirect_to(@list) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @list.errors, :status => :unprocessable_entity }
end
end
end
и ..
def fixlistname
new_title = title.humanize + (title.ends_with("...") ? "" : "...")
end
РЕДАКТИРОВАТЬ 2: Я хочу, чтобы строка была изменена до того, как она попадет в базу данных, и вот сообщение об ошибке, которое я получаю:
неопределенный метод "заканчивается_свойством" для вас
знаю, что ты бегун
когда ": String
ПОЛУЧИЛ ЭТО РАБОТАЕТ! СПАСИБО ВСЕМ!