У меня есть две таблицы в моей базе данных. Eu tenho duas tabelas no banco de dados. 1º test_case_statuses 2º test_case_runsКак сортировать столбец с помощью файла перевода
Первая таблица имеет столбцы: идентификатор и идентификатор. Содержание этой таблицы заключается в следующем: идентификатора ID 1 нового
2 одобрены 3 обличаемых
Вторая таблица имеет столбцы идентификатор электронной status_id.
Мое приложение представлено на португальском языке, поэтому я использую файл перевода. Этот файл содержит следующие строки:
labels
...
test_cases_statuses:
new: "Novo"
approved: "Aprovado"
reproved: "Reprovado"
...
Проблема заключается в том, что мне нужно, чтобы отсортировать содержимое таблицы в алфавитном порядке. Для других столбцов, я использую следующий код:
вид/test_plan_cases
...
<%= sortable_th @search, :test_case_number, {}, :remote => true %>
...
приложение/хелперы/
def sortable_th(builder = nil, attribute = nil, *args)
# th_classes = ['green']
th_classes = []
content = nil
unless builder.nil? || attribute.nil?
th_classes << 'header'
content = sort_link(builder, attribute, *args)
if content.include? 'sort_link asc'
th_classes << 'headerSortDown'
elsif content.include? 'sort_link desc'
th_classes << 'headerSortUp'
end
end
th_classes = th_classes.join(' ')
content_tag :th, content, class: th_classes
end
def sortable_teste(builder = nil, attribute = nil, *args)
# th_classes = ['green']
th_classes = []
content = nil
unless builder.nil? || attribute.nil?
th_classes << 'header'
content = sort_teste(builder, attribute, *args)
if content.include? 'sort_teste asc'
th_classes << 'headerSortDown'
elsif content.include? 'sort_teste desc'
th_classes << 'headerSortUp'
end
end
th_classes = th_classes.join(' ')
content_tag :th, content, class: th_classes
end
контроллер/test_case_runs_controller
@search = @project.test_plan_cases.allowed_for(@release, current_user).search search_values
нужны рекомендации и Помогите это сделать. То, что я собираюсь сделать, это использовать тип перечислителя для сохранения содержимого файла перевода. Посмотрел бы, как это:
[1 'Novo',
2 'Aprovado',
3'Reprovado ']
После того, что я теряю себя, должен создать другую форму заказа или хотели бы адаптировать вышеуказанный код? Я ценю любую помощь =]
Спасибо за ответ быстрой о/Я пытался использовать это, но он не работает, будет оставаться так: '@search = @ project.test_plan_cases.allowed_for (@release, current_user) .search.order ( «# { ПРИМЕР status_id КОГДА 1 ТОГДА 'Ново' КОГДА 2 ТОГДА 'Aprovado' КОГДА 3 ТОГДА '' Reprovado END}» ) search_values'? –
Я полагаю, что 'search_values' является аргументом метода' .search() ', поэтому вы должны поместить его в нужное место. ** НО, если поиск не идет в базу данных (например, вы используете поисковый сервер), сортировка не поможет.Вам нужно будет добавить переведенное поле в индекс поиска, чтобы сервер поиска вернул уже отсортированные совпадения. – rewritten