2013-10-15 3 views
1

Я хочу создать новую задачу через эту форму. Но это говоритRails4 dropbox

Invalid одной таблицы типа наследования: горячая не является подклассом задачи

Вот мои коды. Проблема должна иметь отношение к "f.select" в new.html.erb

def new 
    @task = Task.new 
end 

def create 
     @task = Task.new(task_params) 
     if @task.save 
     # Handle a successful save. 
     flash[:success] = "Task accepted!" 
     redirect_to @task 
     else 
     render 'new' 
     end 
end 

private 
     def task_params 
     params.require(:task).permit(:type, :title, :details,:url) 
end 

И new.html.erb

<div class="row"> 
    <div class="span6 offset3"> 
    <%= form_for(@task) do |f| %> 


     <%= f.label :Select_Type %> 
     <%= f.select :type, [['Hot','hot'],['Medium','medium'],['Cold','cold']] %> 


     <%= f.label :Title %> 
     <%= f.text_field :title %> 

     <%= f.label :Details %> 
     <%= f.text_field :details %> 

     <%= f.label :Your_file_location %> 
     <%= f.text_field :url %> 

     <%= f.submit "Create a New Task", class: "btn, btn-large btn-primary" %> 
    <% end %> 
    </div> 
</div> 

Я думаю, что проблема "тип". Я понятия не имею, чтобы решить эту проблему. Я пробовал все, что мог найти в Stackoverflow, но у меня такая же ошибка. Пожалуйста, помогите мне. Спасибо заранее.

+0

Как выглядит ваш стол? У вас есть столбец типа в таблице? –

ответ

0

Если вы посмотрите на направляющую рельсов Schema Convensions, вы можете видеть, что type является зарезервированным столбцом для STI (однонаправленное наследование). Вам нужно переименовать свою колонку или указать модель рельсов для использования разных столбцов для ИППП. Вы можете найти более подробную информацию о STI в official docs

+0

Спасибо! Проблема решена путем изменения имени столбца. – Alex