ale*_*omb 4 ruby-on-rails formtastic fields-for simple-form cocoon-gem
我通过单击link_to_add函数链接添加新表行时遇到问题.
ale*_*omb 10
因为它花了我一些搜索和尝试和错误找到这里是我的解决方案.它的关键是使用nathanvda 的cocoon gem(而不是ryanb的nested_form),它允许data-association-insertion-node在插入新字段集的位置定义一个jquery选择器(被调用).在我的示例中,我使用的是HAML和Twitter Bootstrap代码,但您可以轻松地将其替换为您自己的收藏夹.
/app/views/users/_form.html.haml:
= simple_form_for @user, :html => {:class => "form-horizontal"} do |f|
= render "shared/error_messages", :target => @user
.row-fluid
.span12
.fieldset
= f.input :username, :label => "Username:", :placeholder => "Username"
%table.table
%thead
%tr
%th
%i.icon-calendar
Date
%th
%i.icon-pencil
Description
%th
%i.icon-cog
Action
%tbody#user_events
= f.simple_fields_for :user_events do |event|
= render "user_event_fields", :f => event
= link_to_add_association f, :user_events, :"data-association-insertion-node" => "tbody#user_events", :"data-association-insertion-method" => "append", :partial => "user_event_fields", :class => "btn" do
%i.icon-plus
Add new event
%p.help-block
%strong Please note:
Events are only removed after confirming the changes with
%span.label
%i.icon-ok
Update settings!
= f.button :submit, :class => "btn" do
%i.icon-ok
Update settings!
Run Code Online (Sandbox Code Playgroud)
/app/views/users/_user_event_fields.html.haml:
%tr.nested-fields
%td= f.input_field :date, :as => :date_month_year, :class => "tooltip-bottom input-small", :rel => "tooltip", :title => "Date of event", :disabled => params[:action] == "show"
%td= f.input_field :description, :placeholder => "Description", :class => "input-large tooltip-bottom", :rel => "tooltip", :title => "Description of event<br/>Use <strong>Markdown</strong> to format your text.", :disabled => params[:action] == "show"
%td= f.input_field :label, :placeholder => "Label", :class => "input-medium tooltip-bottom", :rel => "tooltip", :title => "Label of event", :disabled => params[:action] == "show"
%td= f.input_field :label_class, :collection => [["Green", "label-success"], ["Yellow", "label-warning"], ["Red", "label-important"], ["Blue", "label-info"], ["Black", "label-inverse"]], :include_blank => "Grey", :class => "input-small tooltip-bottom", :rel => "tooltip", :title => "Label color of event", :disabled => params[:action] == "show"
%td
= link_to_remove_association f, :class => "btn" do
%i.icon-remove
Run Code Online (Sandbox Code Playgroud)
请注意,.nested-fields标记上的类对于删除链接起作用至关重要.
| 归档时间: |
|
| 查看次数: |
4329 次 |
| 最近记录: |