In my case I have a few options with same text, that's the reason why I need select by value. Combining a few answers together I've found the best solution for me:
def select_by_value(id, value)
option_xpath = "//*[@id='#{id}']/option[@value='#{value}']"
find(:xpath, option_xpath).select_option
end