2014-12-14 2 views
1

У меня есть таблица с именем Post, которая имеет столбец с именем data_string, который представляет собой строку, установленную на значение по умолчанию «0». В моем контроллере для сообщений у меня есть действие с именем add_vote, которое увеличивает значение голоса на 1, а также добавляет некоторую другую строку «test» к data_string. Оператор < < не работает, и я не знаю, почему. Когда я меняю оператор на =, он работает отлично, но это не то, что я хочу сделать.Ruby on Rails String Concatenation

def upvote 
    @post = Post.find(params[:post_id]) 
    @post.vote += 1 
    @post.data_string << "as" 
    @post.save 
    redirect_to action:"index" 
end 

ответ

0

Вместо

@post.data_string << "as" 

вы могли бы использовать

@post.data_string = @post.data_string + "as" 
+0

Почему это поможет? –

+0

Вы используете старую строку '@ post.data_string' и суммируете ее с символом' 'как' ', а затем добавляете ее в' @ post.data_string' и сохраняете ее. такой же, как concat – Nermin

+0

Итак, то же, что и '<<'? Вы знаете, тот, который не работает. –