Yêu cầu thg 3 15, 2019 9:35 SA 263 0 2
  • 263 0 2
0

Form có nhiều biến trong rails

Chia sẻ
  • 263 0 2

Mình có tuỳ chỉnh form comment như sau

# comments/_form.html.erb
<%= form_for(comment, event), html: {class: "form-inline"} do |form| %>
  <% if comment.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(comment.errors.count, "error") %> prohibited this comment from being saved:</h2>

      <ul>
      <% comment.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="form-group" style="width:100%">
      <%= form.hidden_field :user_id, value: current_user.id %>
      <%= form.hidden_field :event_id, value: event.id %>
      <%= form.text_area :content, rows: 1, :class => "comment-box form-control", :style=>"width:50%",
          :required => true, :autocomplete => 'off', placeholder: "Comment" %>
          
      <%= form.submit "Comment", id: "reply_submit", class: "btn btn-primary" %>
  </div>

<% end %>

Và sau đó render lại

# events/show.html.erb
        <%= render partial: "comments/form", locals: { event: @event, comment: @comment } %>

Hiện tại thì liên tục xảy ra lỗi. Xin được mọi ngừoi giúp đỡ. Đây là ảnh lỗi và log

Link git và nhánh: https://github.com/BlazingRockStorm/let-us-go/tree/make-comment-component

2 CÂU TRẢ LỜI


Đã trả lời thg 3 16, 2019 10:30 SA
Đã được chấp nhận
+1

Bạn thử sửa như này xem sao

<%= form_for [comment, event], html: {class: "form-inline"} do |form| %>
Chia sẻ
Avatar Hoàng Đức Quân @devil_boom_129
thg 3 16, 2019 10:35 SA

à mình đổi lại khá ok rồi. nhưng mà lại có vấn đề mới là giờ comment 1 phát là tự dưng lại download. mã 204 no content. Mình đang không biết nên xử lý ở file nào và ra sao cả.

thg 3 17, 2019 12:38 CH

@devil_boom_129 Mình nghĩ do bạn thiếu controller xử lý route này /comments/:comment_id/events, hoặc là controller không return gì cả. Bạn có thể tham khảo thêm https://guides.rubyonrails.org/routing.html#nested-resources

Đã trả lời thg 3 15, 2019 3:58 CH
+1

nó ghi viết nhầm syntax kìa tự nhiên lòi cái html...

form_for(comment, event), html: {class: "form-inline"}
Chia sẻ
Avatar Hoàng Đức Quân @devil_boom_129
thg 3 16, 2019 7:50 SA

em sửa theo gợi ý của 1 anh trong group RoR vẫn dữ nguyên có sao đâu ạ

Avatar Lê Vĩnh Thiện @le.vinh.thien
thg 3 16, 2019 12:54 CH

@devil_boom_129 nguyên ls đc, e để cái dấu dóng mở ngoặc thế kia là đã kết thúc hàm rồi, or phải đổi giống bạn bên trên chứ. 🤣

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí