Что лучшее руководство к маршрутам направляющих для полностью смущено?

У меня была та же проблема, но я думаю, что лучше подвести итог и представить последний шаг, чтобы она заработала:

  1. Добавить метод setHasOptionsMenu (true) в ваш фрагмент onCreate(Bundle savedInstanceState) метод.

  2. Переопределите onCreateOptionsMenu(Menu menu, MenuInflater inflater) (если вы хотите сделать что-то другое в меню вашего Фрагмента) и onOptionsItemSelected(MenuItem item) методы в своем Фрагменте.

  3. Внутри метода onOptionsItemSelected(MenuItem item) Activity, убедитесь, что вы возвращаете false, когда действие пункта меню будет реализовано в методе onOptionsItemSelected(MenuItem item) Fragment.

Пример:

Активность

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        case R.id.activity_menu_item:

            // Do Activity menu item stuff here
            return true;

        case R.id.fragment_menu_item:

            // Not implemented here
            return false;
        default:
            break;
    }

    return false;
}

Фрагмент

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
    ....
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // Do something that differs the Activity's menu here
    super.onCreateOptionsMenu(menu, inflater);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        case R.id.activity_menu_item:

            // Not implemented here
            return false;
        case R.id.fragment_menu_item:

            // Do Fragment menu item stuff here
            return true;

        default:
            break;
    }

    return false;
}
5
задан planet 23 June 2009 в 23:28
поделиться

5 ответов

If you're okay with spending money on a dead tree reference, The Rails Way is actually worth it. The guides posted are probably your best bet this time, but if you plan on doing a lot of Rails, this book really breaks it down and makes it understandable. It's been a tremendous help for me. Good Luck.

5
ответ дан 18 December 2019 в 07:10
поделиться

Первое упоминание в Google о «Руководстве по маршрутам Rails» - это Rails Routing from the Outside In , которое является довольно полным.

9
ответ дан 18 December 2019 в 07:10
поделиться

В качестве дополнительного примечания:

Маршруты в начале имеют приоритет над маршрутами позже в файле. Поэтому всякий раз, когда вы хотите указать какой-то общий маршрут (например, маршруты по умолчанию, отображающие каждое действие в каждом контроллере), вам нужно сделать это в конце.

3
ответ дан 18 December 2019 в 07:10
поделиться

http://guides.rubyonrails.org - фантастический справочник, и я нашел их руководство по маршрутизации чрезвычайно полезным!

2
ответ дан 18 December 2019 в 07:10
поделиться

Когда вы изучаете и экспериментируете с маршрутами rails, стоит отметить, что есть способ увидеть, что rails на самом деле делают с вашим файлом config / routes.rb .

$rake routes

это вернет все маршруты, которые он настроил на основе вашего файла config / routes.rb . Это было особенно полезно для меня, поскольку я узнал о том, как настраиваются все имена переменных маршрута, например new_model1_model2_path (@ model1) .

3
ответ дан 18 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: