Полагаться на params существа ноль супер неловко. Вы можете контролировать отправляемые формы, поэтому просто отправьте дополнительный параметр, который определяет, откуда он поступает.
Несколько других вещей:
Если вы отвечаете только с помощью html, не беспокойтесь о создании блока response_to.
if @question.save
redirect_to :controller => 'home', :action => 'show', :username => question.directed_to
else
redirect_to :controller => 'mentions', :action => 'show', :id => question.topic
end
@question.save
не запускает проверки. Довольно необычно, что вы хотите создать действие, которое не запускает проверки. Вы, вероятно, должны иметь что-то вроде:
def create
@question = Question.new(params[:question])
@question.save!
flash[:notice] = "Question saved successfully"
# Do your redirects here
rescue ActiveRecord::RecordInvalid
flash[:error] = "There were errors saving your question"
render :action => :new
end