Котлин (изменчивый) список

Проблема заключается в том, что для вашего маршрута требуется параметр. lang/{language} При выполнении сообщения формы вам не нужно требовать параметр. Кроме того, вам нужно, чтобы ваша форма была POST не GET

Так что сделайте что-то подобное.

Маршрут:

Route::post('/lang', [
    'uses' => 'LanguageController@changeLanguage',
    'as'   =>'site.translate'
]);

Вид:

<div class="col-6 col-lg-3 pt-4 pb-4">
  <div class="footer-list">
    <h3>Language</h3>
    <form method="post" action="{{route('site.translate')}}">
      {{csrf_field()}}
      <select name="language" class="form-control font-weight-normal text-gray" id="exampleFormControlSelect1">
        <option selected class="selected" value="de">German</option>
        <option value="en">English</option>
        <option value="de">German</option>
        <option value="es">Spanish</option>
      </select>
    </form>
  </div>
</div>

Контроллер:

class LanguageController extends Controller
{
    public function changeLanguage(Request $request)
    {
        if(Session::has(locale)){
            session()->set('locale', $request->language);}
        else{
            session()->set('locale', 'en');
        }

        return redirect()->back();
    }
}
2
задан Josef Zoller 18 January 2019 в 18:39
поделиться

3 ответа

MutableList - это интерфейс в kotlin. Чтобы объявить переменную, нам нужно использовать класс наподобие

    val list2: ArrayList<String>

@Josef Zoller

0
ответ дан Roman 18 January 2019 в 18:39
поделиться

В Котлине нет типа (Mutable)List.

Это служит признаком того, что тип списка, возвращаемого Example.getList(), не будет определен во время времени компиляции , но будет решен во время времени выполнения .
В вашем случае это будет List, а не MutableList, потому что Arrays.asList() возвращает FixedSizeList .

Если вы реализовали Example.getList() следующим образом:

public static List<String> getList() {
    List<String> list = new ArrayList<>();
    list.add("A");
    list.add("B");
    list.add("C");
    return list;
}

, то во время времени выполнения тип вашего list будет MutableList.

0
ответ дан forpas 18 January 2019 в 18:39
поделиться

Это инструментальная подсказка IDEA, которая показывает, что этот список может быть таким же MutableList, как List, поскольку Example является классом Java и может возвращать любой из списков типов.

Кроме того, то же самое происходит со String: вы ничего не знаете об обнуляемости списка String, так как он возвращается из Java, поэтому String выглядит как String!, что означает «может быть, это ноль, но или нет», не влияя на компиляцию (т. е. вы можете вызывать методы для него без проверки на нуль, как для проверки на нуль: предупреждения не появятся).

0
ответ дан kr3v 18 January 2019 в 18:39
поделиться
Другие вопросы по тегам:

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