Ruby on rails Rails 4两种形式,一页上有单独的模型
我有两种沟通模式,发帖和回复。由于某种原因,我无法理解,@reply表单没有响应。提交不起作用,文件上传字段也不起作用,但只有在@reply表单、@prospect和@post表单上才能完美工作Ruby on rails Rails 4两种形式,一页上有单独的模型,ruby-on-rails,forms,ruby-on-rails-4,Ruby On Rails,Forms,Ruby On Rails 4,我有两种沟通模式,发帖和回复。由于某种原因,我无法理解,@reply表单没有响应。提交不起作用,文件上传字段也不起作用,但只有在@reply表单、@prospect和@post表单上才能完美工作 <h1><strong><%= @group.name %></strong></h1> <p><em><%= @group.description %></em><p> <p&
<h1><strong><%= @group.name %></strong></h1>
<p><em><%= @group.description %></em><p>
<p>Operated by: <% @owner = User.find(@group.owner_id) %><%= @owner.name %></p>
<% if current_user.group_id == nil %>
<%= form_for(@prospect) do |f| %>
<%= f.hidden_field :group_id, value: @group.id %>
<%= f.submit "Join Group", class: "btn btn-primary" %>
<% end %>
<% end %>
<% if current_user.group_id == @group.id %>
<%= form_for(@post) do |f| %>
<%= f.hidden_field :group_id, value: @group.id %>
<%= f.hidden_field :user_id, value: current_user.id %>
<div class="form-group col-xs-12">
<div class="row">
<div class="col-xs-11">
<%= f.text_area :content, class: 'form-control', placeholder: "What ails you?" %>
</div>
<div class="col-xs-1">
<button type="button" class="btn btn-success" onclick="addpic(0);">Add a pic</button>
</div>
</div>
</div>
<div class="form-group hidden col-xs-12" id="picture0">
<%= f.file_field :image, class: 'form-control' %>
</div>
<div class="form-group col-xs-12 actions">
<%= f.submit %>
</div>
<% end %>
<% @group.posts.each do |p| %>
<div class="post">
<div class="post-meta">
<%= p.user.name %> <em><%= p.created_at.strftime('%a, %b %e, %Y %r') %></em>
</div>
<%= p.content %>
<% if p.image %>
<img src="data:image/png;base64,<%= p.image %>" class="img-responsive"/>
<% end %>
<% p.replies.each do |r| %>
<%= r.user.name %><br/><%= r.content %>
<% if r.image %>
<img src="data:image/png;base64,<%= r.image %>" class="img-responsive"/>
<% end %>
<% end %>
<a class="reply">Reply</a>
<div class="reply hidden">
<%= form_for(@reply) do |ff| %>
<%= ff.hidden_field :post_id, value: p.id %>
<%= ff.hidden_field :user_id, value: current_user.id %>
<div class="form-group col-xs-12">
<div class="row">
<div class="col-xs-11">
<%= ff.text_area :content, class: 'form-control', placeholder: "Write a reply..." %>
</div>
<div class="col-xs-1">
<button type="button" class="btn btn-success" onclick="addpic(<%= p.id %>);">Add a pic</button>
</div>
</div>
</div>
<div class="form-group hidden col-xs-12" id="picture<%= p.id %>">
<%= ff.file_field :image, class: 'form-control' %>
</div>
<div class="form-group col-xs-12 actions">
<%= ff.submit %>
</div>
<% end %>
</div>
</div>
<% end %>
<% end %>
<script>
var addpic = function(id) {
var el = '#picture' + id;
$(el).removeClass('hidden');
}
$('.reply').on('click', function(e){
e.preventDefault();
$(this).next().removeClass('hidden');
});
</script>
经营单位:
添加图片
“class=”img responsive“/>
“class=”img responsive“/>
回复
添加图片
var addpic=函数(id){
变量el=“#图片”+id;
$(el).removeClass('hidden');
}
$('.reply')。在('click',函数(e)上{
e、 预防默认值();
$(this.next().removeClass('hidden');
});
解决了这个问题,JS阻止了.reply div中所有点击的默认值。在回复表单的包装中使用了reply,因此它阻止了默认值。通过将回复链接的类更改为“addreply”,并将js侦听器更改为“addreply”,它现在可以正常工作。@reply如何失败?你的日志里有什么记载吗?您是否检查过是否有任何JS代码故障可能会阻止其提交?没有JS会使其失败,并且控制台不会显示任何内容,a标记上有“阻止”默认值,但这不会影响表单。并且不会因为表单未被提交而将任何内容发送到服务器日志submitted@OscarValdezEsquea它不应该,但它做到了!谢谢你给我指明了正确的方向。我没想到JS会造成这种情况,但你让我再看一次。