이것은 첫 번째 Rails 프로젝트입니다. 동일한 테이블의 다른 열은 정상적으로 작동하지만 어떤 이유로 인해 데이터베이스의 한 열에 게시 할 수 없습니다. (필자가 동일한 테이블에 다른 컬럼을 채웠을 때 Faker gem을 사용하여 그 컬럼을 채울 수 없었기 때문에 나는 단지 데이터베이스에 들어가서 손으로 채웠을 뿐이므로 나는 그것을 지나갈 수 있었다.)Ruby on Rails form_for 데이터베이스에 대한 게시가 하나의 열에 대해 작동하지 않지만 같은 테이블에있는 다른 테이블에 대한 것임
내 데이터베이스에는 "id" "content" "user_id" "created_at" "updated_at"및 "heading"열이있는 테이블 "articles"이 있습니다. 새로운 기사를 작성하는 내 양식은 다음과 같이이다 :
<%= form_for @article do |f| %>
<div class="field">
<%= f.text_field :heading, :size => "60x1" %>
</div>
<div class="field">
<%= f.text_area :content, :size => "60x24" %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
내 articles_controller가 있습니다
def new
@article = Article.new
end
def create
if @article = current_user.articles.create!(params[:article])
redirect_to root_path, :flash => { :success => "Article created!" }
else
redirect_to "/articles/new"
end
end
내가 양식을 제출하려고, 내 제목 검증에 하나 어획량 (: 존재 => 사실) 또는 유효성을 주석 처리하면 표제없이 제출하십시오. 소식에서 다음 매개 변수를 보내고 있습니다.
{"utf8"=>"✓",
"authenticity_token"=>"...",
"article"=>{"heading"=>"Test heading",
"content"=>"Test content"},
"commit"=>"Submit"}
제목이있는 것 같습니다. user_id를 포함하여 다른 모든 열이 채워집니다. 왜 표제가 채워지지 않습니까? 마이그레이션 또한 내 마이그레이션 reset_column_information 추가 : 나는 갈퀴 DB를 실행 한
def self.up
add_column :articles, :heading, :string
Article.reset_column_information
end
그러나 어느 쪽이든 작동하지 않았다.
또한 레일 콘솔에 들어가서 그런 식으로 새 기사를 추가하면 문제없이 표제를 추가 할 수 있습니다.
중요한 경우 SQLite를 사용하고 있습니다. 나중의 마이그레이션에서 제목 열을 추가했습니다. 열 순서에서 마지막으로 오는 문제 일 수 있습니까?