【问题标题】:Trying to add ajax to RoR app尝试将 ajax 添加到 RoR 应用程序
【发布时间】:2011-03-03 03:33:07
【问题描述】:

我在尝试将 ajax 添加到类似 Twitter 的微帖子控制器时收到 ActionView::MissingTemplate 错误。这是完整的错误:

ActionView::MissingTemplate (Missing template microposts/create with {:handlers=>[:rhtml, :erb, :rxml, :builder, :rjs], :locale=>[:en, :en], :formats=>[:js, :html]} in view paths "/rubyprograms/sample_app/app/views"):
app/controllers/microposts_controller.rb:9:in `create'

这是我的create 方法。顺便说一句,第 9 行是 respond_to 行:

  def create
@micropost  = current_user.microposts.build(params[:micropost])
if @micropost.save
  flash[:success] = "Micropost created!"
  respond_to do |format|
    format.html { redirect_to root_path }
    format.js
  end
else
  @feed_items = []
  render 'pages/home'
 end
end

我做错了什么?

更新:我的 .rjs 文件在我的 views 文件夹中。那是它应该在的地方吗?文件应该有一个特定的名称吗?目前叫create.rjs

【问题讨论】:

    标签: ruby-on-rails ajax debugging ruby-on-rails-3


    【解决方案1】:

    create.rjs 应该在app/views/microposts 之下

    【讨论】:

      【解决方案2】:

      文件名应该是

      create.js.erb
      

      那么在你的控制器中你必须使用:

      respond_to do |format|
        format.js # view create.js.erb
      end
      

      【讨论】:

        【解决方案3】:

        为了在 rails 3 中使用 rjs,请使用 *

        原型导轨

        * 宝石

        【讨论】:

          猜你喜欢
          • 2017-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-15
          • 2011-04-15
          • 2012-09-19
          • 1970-01-01
          • 2014-07-16
          相关资源
          最近更新 更多