create
и index
- это два очень разных метода. В Controller
они не называются вместе. Вы звоните только один или другой. В соответствии с кодом, который вы поставили, вы устанавливаете значение @randomUserId
в действии index
.... не в действии create
. Вы не можете вызвать переменную, используемую в другом действии, - значение, которое вы установили для нее больше, и будет (правильно) возвращать nil
.
Если вам нужно значение @randomUserId
в действии create, вы должны установить его снова в действии create
или передать его через параметры как-то.
Если первый, просто скопируйте строку, которая говорит @randomUserId =rand(1..30)
.
Если последнее, то вам нужно будет рассказать нам гораздо больше о том, что вы пытаетесь сделать, о ваших взглядах и т. Д., Прежде чем мы сможем вам помочь.
Как вы пытаетесь проверить, что находится в 'randomUserId'? Если вы создаете новый экземпляр, вам нужно сначала вызвать 'index'. – Buddy
Является ли это классом? Вы вызываете индекс перед созданием? – lcguida
Вы отметили свой вопрос 'ruby-on-rails', поэтому, я полагаю, вы на самом деле пытаетесь создать контроллер с' index' и 'create' в качестве действий. Вы, кажется, не понимаете основ MVC, поэтому я бы предложил вам сначала прочитать некоторую документацию. – Nax