【问题标题】:Template Missing error with an Ajax request - Rails 3.1Ajax 请求的模板丢失错误 - Rails 3.1
【发布时间】:2012-02-04 21:06:32
【问题描述】:

我有一个带有 Ruby 1.8.7 的 rails 3.1 应用程序。我正在尝试通过 ajax 创建联系人,但不断收到缺少模板的错误。

ActionView::MissingTemplate (Missing template contacts/create, application/create with {:handlers=>[:coffee, :builder, :erb], :locale=>[:en, :en], :formats=>[:html]}. Searched in:
* "/Users/Me/Sites/t3/app/views"
):

形式:

    <%= form_for @contact, :remote => true do |f| %>
        <%= f.hidden_field :customer_id, :value => @customer.id %>


<table>
    <tr>
        <td class="pten">
            <%= f.text_field :first_name, :style => "width:120px;", :class => "contact_input" %>
        </td>
        <td class="pten">
            <%= f.text_field :last_name, :style => "width:120px;", :class => "contact_input" %>
        </td>
        <td class="pten">
            <%= f.text_field :position, :style => "width:120px;", :class => "contact_input" %>
        </td>
        <td class="pten">
            <%= f.text_field :phone, :style => "width:120px;", :class => "contact_input" %>
        </td>
        <td class="pten">
            <%= f.text_field :ext, :style => "width:60px;", :class => "contact_input" %>
        </td>
        <td class="pten">
            <%= f.text_field :email, :style => "width:200px;", :class => "contact_input" %>
        </td>
        <td class="pten">
            <%= f.submit 'Create', :class => "submit" %>
        </td>
    </tr>
</table>



    <% end %>

控制器:

  def create
    @contact = Contact.new(params[:contact])
    @customer = @contact.customer
    @contact.save
    respond_to do |format|
      format.js 
    end
  end

创建.js.erb:

$(".contact_list").append("<%= escape_javascript(render @contact)%>");
$('.contact_input:input').val('');

开发.rb:

Myapp::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  # In the development environment your application's code is reloaded on
  # every request.  This slows down response time but is perfect for development
  # since you don't have to restart the web server when you make code changes.
  config.cache_classes = false

  # Log error messages when you accidentally call methods on nil.
  config.whiny_nils = true

  # Show full error reports and disable caching
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger
  config.active_support.deprecation = :log

  # Only use best-standards-support built into browsers
  config.action_dispatch.best_standards_support = :builtin

  # Do not compress assets
  config.assets.compress = false

  # Expands the lines which load the assets
  config.assets.debug = true
end

【问题讨论】:

  • 是 view/contacts 文件夹中的 create.js.erb 吗?
  • 是的。我将所有代码复制并粘贴到一个新的 3.1.3 项目中,一切正常!?但我真的很想知道这里出了什么问题。

标签: ruby-on-rails ajax


【解决方案1】:

我认为您之前已将其命名为 Create.js.erb 而不是 create.js.erb。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    相关资源
    最近更新 更多