我在Stackoverflow中的第一个问题。 我已经学习Rails一周了。我有一个具有这种结构的项目:
class Community < ApplicationRecord
has_many :community_neighbors
has_many :community_coordinators
has_one :work_table
end
此视图(仅适用于新视图):
<%= form_with(model: [ @community, @community.community_neighbors.build ]) do |f| %>
<p>
<%= f.label :Nombre %><br>
<%= f.text_field :name%>
</p>
<p>
<%= f.label :Apellido %><br>
<%= f.text_field :surname %>
</p>
<p>
<%= f.label :Teléfono %><br>
<%= f.text_field :phone %>
</p>
<p>
<%= f.label :"E-mail" %><br>
<%= f.text_field :mail %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
和这个控制器
class CommunityNeighborsController < ApplicationController
def new
@community = Community.find(params[:community_id])
end
def edit
@community = Community.find(params[:community_id])
@community_neighbor = @community.community_neighbors.find(params[:id])
end
def create
@community = Community.find(params[:community_id])
@community_neighbors = @community.community_neighbors.create(community_neighbors_params)
redirect_to community_path(@community)
end
def update
@community = Community.find(params[:community_id])
@community_neighbor = @community.community_neighbors.find(params[:id])
@community_neighbor.update_attributes(community_neighbor_params)
end
private
def community_neighbors_params
params.require(:community_neighbor).permit(:name, :surname, :phone, :mail, :status)
end
end
我有一个社区父亲课程的编辑表格,与编辑表单中的自动填充功能完美配合。
问题:当我编辑子类community_neighbor时,自动填充功能无效。
不知道我是否需要发布其他内容
我真的很感谢你的帮助!
编辑:这就像First Raill app,但我需要为评论&#39;制作编辑视图/控制器。
答案 0 :(得分:0)
代码中的一些问题:
您没有在update方法中更新任何内容。您应该使用update_attributes
。
您正在使用ID而不是community_id搜索社区。 p>
您正在使用@community.Community_neighbors
(上限)。
修正更新方法:
def update
@community = Community.find(params[:community_id])
@community_neighbor = @community.community_neighbors.find(params[:id])
@community_neighbor.update_attributes(community_neighbor_params)
end
编辑:更多问题
我发现了另一个问题。在编辑中,您正在寻找特定的社区邻居。但是在视图中你没有显示这个邻居,而是一个新的(空的)。你应该这样改变它:
def new
@community = Community.find(params[:community_id])
@community_neighbor = @community.new
end
def edit
@community = Community.find(params[:community_id])
@community_neighbor = @community.community_neighbors.find(params[:id])
end
在视图中:
<%= form_with(model: [ @community, @community_neighbor ]) do |f| %>
....
<%= end %>