【发布时间】:2018-07-20 02:06:56
【问题描述】:
我有一个资金表和组织表。 Fundings 表有 organization_id。在资金表中,我有与组织表相同的字段。我想要的是当创建应用程序并且在资金显示页面上有一个添加按钮来添加资金中相同的所有字段,并且组织表也存储在组织表中。请帮忙
_form.html.erb (funding_form)
<%= form_for([@parent, @child, @funding], :html => {class: "form-horizontal",role: "form"}) do |form| %>
<div class = "form-group">
<div class="control-label col-sm-2">
<%= form.label :activity_details, class: "required" %>
</div>
<div class="col-sm-8">
<%= form.text_area :activity_details, required: true %>
</div>
</div>
<!--Adding organisation -->
<div class = "form-group">
<div class="control-label col-sm-2">
<%= form.label :name_of_organisation, id: "name_of_organisation-label" %>
</div>
<div class="col-sm-8">
<%= form.text_field :name_of_organisation, class: "form-control hidden", id: "name_of_organisation-textfield" %>
</div>
</div>
<div class = "form-group">
<div class="control-label col-sm-2">
<%= form.label :address, id: "address-label" %>
</div>
<div class="col-sm-8">
<%= form.text_field :address, class: "form-control hidden", id: "address-textfield" %>
</div>
</div>
<div class = "form-group">
<div class="control-label col-sm-2">
<%= form.label :city, id: "city-label" %>
</div>
<div class="col-sm-8">
<%= form.text_field :city, class: "form-control hidden", id: "city-textfield" %>
</div>
</div>
<div class = "form-group">
<div class="control-label col-sm-2">
<%= form.label :province, id: "province-label" %>
</div>
<div class="col-sm-8">
<%= form.text_field :province, class: "form-control hidden", id: "province-textfield" %>
</div>
</div>
<!-- End Adding organisation -->
<div class="form-group">
<div class="col-sm-10">
<%= form.submit "Apply", class: 'btn btn-primary btn-lg' %>
</div>
</div>
</div>
</div>
<% end %>
show.html.erb(资金展示页面)
<p>
<strong>Name of Organisation:</strong>
<%= @funding.name_of_organisation %></p><br>
<p>
<strong>Address:</strong>
<%= @funding.address %></p><br>
<p>
<strong>City:</strong>
<%= @funding.city %></p><br>
<p>
<strong>Province:</strong>
<%= @funding.province %></p><br>
<p>
<% if current_user.admin? %>
<%= link_to 'Add Organisation', "" %>
<% end %>
如果管理员点击添加组织字段被添加到组织表中。
模式资金表
t.text "activity_details"
t.string "city"
t.string "name_of_organisation"
t.string "province"
t.text "address"
架构组织表
t.string "name_of_organisation"
t.text "address"
t.string "city"
t.string "province"
funding.rb
belongs_to :organisation
组织.rb
has_many :fundings
组织控制器 我有一个新的 create 方法可以由管理员直接创建组织。所以我添加了一个 new_org 方法来从资金表中添加组织。但我不知道如何实现它。
def new_org
@organisation = Organisation.new
end
def create_org
@organisation = Organisation.new(organisation_params)
if @organisation.save
flash[:success] = "Organisation is added"
redirect_to main_admin_service_provider_path
else
render 'new'
end
end
【问题讨论】:
-
请提供您尝试实现该控制器的代码。为什么需要一些数据的副本?
-
@Leo 我需要复制它,因为我不希望普通用户直接将组织添加到组织表中。
标签: ruby-on-rails ruby ruby-on-rails-5