无法在twitter bootstrap模式中呈现表单?

时间:2013-12-24 10:33:34

标签: javascript jquery ruby-on-rails ruby twitter-bootstrap

我正试图在我的ruby on rails application.using twitter-bootstrap-rails上使用一个模态。

我的代码

在我使用模态的页面中(view/auth/main/)

<a href="#sneh"role="label" class="link" data-toggle="modal">Add Asset</a>
<div id="sneh" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">Add Asset</h3>
</div>
<div class="modal-body">
    <p>
     <%= render "vendors/new" %>
    </p>
    </div>
  </div>

我有vendors controllernew.html.erb页面。并在new.html.erb

   <%= form_for(@vendor) do |f| %>
      <table width="700">
        <tr>
          <td>
            <%= f.label :Full_name %>
            <h3><i class="fa fa-user"></i>
              <%= f.text_field :name %>
            </h3>
          </td>
           <td>
            <%= f.label :address %><h3><i class="fa fa-align-justify"></i> 
            <%= f.text_area :address %></h3>
          </td>
        </tr>
          <tr>
            <td>

             <%= f.label :email %><h3><i class="fa fa-envelope"></i>
             <%= f.text_field :email %></h3>
           </td>
             <td>

              <%= f.label :location %><h3><i class="fa fa-map-marker"></i>
              <%= f.text_field :location %></h3>
            </td>
          </tr>
          <tr>
            <td>

             <%= f.label :ph_no %><h3><i class="fa fa-phone"></i>
             <%= f.text_field :ph_no %></h3>
           </td>
             <td>

              <%= f.label :mobile_no %><h3><i class="fa fa-phone-square"></i>
              <%= f.text_field :mobile_no %></h3>
            </td>
          </tr>
          <tr>
            <td>

              <%= f.label :asset_name %><h3><i class="fa fa-truck"></i> 
              <%= f.text_field :asset_name %></h3>
            </td>
          <td>
                  <%= f.submit "Save", class: "btn  btn-primary btn-lg btn3d" %>
                  <%= f.submit "Cancel",  class: "btn btn-danger btn-lg btn3d" %>
                </td>
                </tr>
                </table>

添加render命令后,我收到错误,例如 ActionView::MissingTemplate in Auth#main 当我删除它并在html中编写表单时,它可以正常工作,但如果我想在rails ...中做同样的事情,那就该怎么做。谢谢。)

2 个答案:

答案 0 :(得分:0)

您可以创建部分允许'_form.html.erb&#39;。将new.html.erb的所有内容放入其中。

在new.html.erb中,

<%= render "/vendors/form" %>

在模态中也使用相同的。

<%= render "/vendors/form" %>

答案 1 :(得分:0)

创建部分_form.html.erb后。 错误发生在控制器auth controller.rb中 您应该在auth controller.rb

中进行更改
def main
  @vendor = Vendor.new
end
def create
    @vendor = Vendor.new(params[:vendor])
        if @vendor.save
            flash[:success] = "Vendor Added Successfully"
            render @vendor
        end
  end
  def show
@vendor = Vendor.find(params[:id])

@title = @vendor.name
end

这将保存到您的数据库中。 谢谢。