나는 분류로 블로그를 만들고 있습니다. 나는 형식으로 분류를 구현하는 방법에 조금 붙어있다. 설정을 통해 많은 관계를 맺고 여러 범주의 블로그를 연결하는 확인란을 추가하려고합니다. 지금까지 내가보기에 카테고리를 지나쳐서 나열 할 수는 있지만 어떤 이유로 든 form_for 메소드가 작동하지 않습니다.학습 레일, 블로그 카테고리를 만들려고 시도합니다
여기 내 코드입니다.
블로그 모델
class Blog < ActiveRecord::Base
attr_accessible :body, :title, :image
has_many :categorizations
has_many :categories, through: :categorizations
has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }
validates :title, :body, :presence => true
end
분류 모델
class Category < ActiveRecord::Base
has_many :categorizations
has_many :blogs, through: :categorizations
attr_accessible :name
end
분류 모델
class Categorization < ActiveRecord::Base
attr_accessible :blog_id, :category_id
belongs_to :blog
belongs_to :category
end
블로그 새로운 컨트롤러
def new
@blog = Blog.new
@categories = Category.all
respond_to do |format|
format.html # new.html.erb
format.json { render json: @blog }
end
end
나는 내가 현재 배우고 바로 이후의 모든 접근하고 긍정적 인 모르겠습니다 만
블로그 새로운 형태의보기
<%= form_for(@blog, :url => blogs_path, :html => { :multipart => true }) do |f| %>
<% if @blog.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@blog.errors.count, "error") %> prohibited this blog from being saved:</h2>
<ul>
<% @blog.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.file_field :image %>
</div>
<div class="field">
<%= f.label :body %><br />
<%= f.text_area :body %>
</div>
<div class="field">
Categories:
<% @categories.each do |category| %>
<% fields_for "blog[cat_attributes][]", category do |cat_form| %>
<p>
<%= cat_form.check_box :name %>
</p>
<% end %>
<% end %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
이 코드는 내 실패 지점
<% @categories.each do |category| %>
<% fields_for "blog[cat_attributes][]", category do |cat_form| %>
<p>
<%= cat_form.check_box :name %>
</p>
<% end %>
<% end %>
입니다. 이것을 달성하는 방법에 대한 조언. 당신이 여기에 설명하지 않은 사용하는 경우가 아니라면
감사합니다, 모두의 CG
감사합니다. 작동하는 것 같습니다. 레일 캐스트가 말했듯이, 많은 것을 소유하고 있다고 많은 사람들이 알고있는 방식을 사용하고있었습니다. 많은 것들이 이런 종류의 일을하는 덜 인기있는 방법입니다. 그러나 폼 로직은 두 가지 모두에서 작동하는 것처럼 보입니다. 도와 주셔서 감사합니다 :) –