2012-07-13 14 views
6

Tôi đang sử dụng simple_form, nested_form và Twitter Bootstrap và cố gắng đặt "Remove Link" từ nested_form trên cùng một dòng với đối tượng.Thêm các điều khiển nội tuyến với simple_form, nested_form và Twitter Bootstrap trong Rails

Ngay bây giờ nó trông như thế này:

http://grab.by/eKDS

và tôi muốn nó trông như thế này:

http://grab.by/eKEc

Đây là những gì mã của tôi trông giống như:

<%= cform.simple_fields_for :licensings do |lf| %> 
    <%= lf.input :state, :collection => us_states, :wrapper => false %> 
    <%= lf.link_to_remove "Remove this Licensing", :class => 'btn btn-mini btn-danger' %> 
<% end %> 

Tôi đã thử đặt liên kết thứ hai link_to_remove bên trong một khối cho lf.input đầu tiên nhưng sau đó thả xuống thực tế không xuất hiện. Tôi đã xem xét mã của simple_form nhưng tôi đã không thể theo dõi nếu có một cách để thực hiện điều này.

+0

Làm thế nào về gói mỗi trong một div và sử dụng CSS để xử lý các vị trí. – diasks2

Trả lời

12

Cảm ơn câu trả lời nhưng tôi không thể có được một trong hai để làm việc. Tôi tìm thấy câu trả lời trên mailing list Google Groups:

https://groups.google.com/forum/?fromgroups#!topic/plataformatec-simpleform/hL9ek5svyAU

<%= cform.simple_fields_for :licensings do |lf| %> 
    <%= lf.input :state do %> 
     <%= lf.input_field :state, :collection => us_states %> 
     <%= lf.link_to_remove "Remove this Licensing", :class => 'btn btn-mini btn-danger' %> 
    <% end %> 
    <% end %> 
1

Bạn đã cố thêm lớp "nội tuyến" vào biểu mẫu lồng nhau chưa?

<%= form_for @test, :html => { :class => 'form-inline' } do |f| %> 
    <%= f.text_field :some_field, :class => 'text_field' %> 
    <%= f.submit "Save", :class => 'btn btn-primary' %> 
<% end %> 
+0

Có, nhưng đây là về nội tuyến một bộ điều khiển cụ thể, không phải toàn bộ biểu mẫu. Đối với các hình thức tôi đã hình thành ngang đã. – David

1

Như bạn có thể thấy trong documentation, bạn có thể tạo trình bao bọc tùy chỉnh của mình. Bạn phải để thêm một cái gì đó như thế này trong simple_form của initializer bạn:

config.wrappers :inline do |b| 
    b.use :placeholder 
    b.use :label_input 
end 

Và sử dụng nó như thế này:

<%= cform.simple_fields_for :licensings do |lf| %> 
    <%= lf.input :state, :collection => us_states, :wrapper => inline %> 
    <%= lf.link_to_remove "Remove this Licensing", :class => 'btn btn-mini btn-danger' %> 
<% end %>