我的Rails应用程序有任务和任务has_many任务(更新或评论)。 在显示列出任务的页面时,我想要一个Bootstrap模式列表现有的Taskups并允许添加一个新的Taskup。
这是启动模式的任务列表中的代码:
<a data-toggle="modal" href="#task-<%= task.id %>" class="btn btn-primary btn-mini" type="button">Comments</a>
<%= render :partial => "taskups/comments", locals: {task: task} %>
模式弹出窗口,您可以看到该任务的任务列表。还有一个新任务的输入字段。
这是模态代码:
<div id="task-<%= task.id %>" class="modal" style="display: none;">
<%= simple_form_for :taskup, :url => {:action => :create} do |f| %>
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Comments</h3>
</div>
<div>
<% task.taskups.each do |taskup| %>
*
<%= taskup.comments %>
</br>
<% end %>
</div>
<div class="modal-body">
<%= f.input :comments, :label => 'New Comment:' %>
<%= f.hidden_field :task_id, :value => task.id %>
<%= f.hidden_field :user_id, :value => current_user.id %>
</div>
<div class="modal-footer">
<%= f.submit "Save Comment", :class => "btn-primary" %>
<a class="btn" data-dismiss="modal" href="#">Close</a>
</div>
<% end %>
</div>
但是,如果您在输入框中输入一些文本并单击“保存评论”按钮,则您看到的下一个屏幕是任务输入表单。
这就像代码正在尝试添加新的Task而不是新的Taskup。
感谢您的帮助!
UPDATE1
这是Taskups的控制器代码。 (但是,我认为任务控制器会以某种方式被调用)
# POST /taskups
# POST /taskups.json
def create
@taskup = Taskup.new(params[:taskup])
respond_to do |format|
if @taskup.save
if @taskup.taskstatus_id != nil
Task.find(@taskup.task_id).update_attributes(:taskstatus_id => @taskup.taskstatus_id)
end
format.html { redirect_to @taskup, notice: 'Task Update was successfully created.' }
format.json { render json: @taskup, status: :created, location: @taskup }
else
format.html { render action: "new" }
format.json { render json: @taskup.errors, status: :unprocessable_entity }
end
end
end
这是Taskups模型:
class Taskup < ActiveRecord::Base
belongs_to :taskstatus
belongs_to :task
belongs_to :user
default_scope { where(tenant_id: Tenant.current_id) }
default_scope :order => 'taskup_date ASC'
end
答案 0 :(得分:1)
这有效:
<%= simple_form_for :taskup, :url => url_for(:action => 'create', :controller => 'taskups'), :method => 'post' do |f| %>