【问题标题】:form_for throws error in ruby on railsform_for 在 ruby​​ on rails 中抛出错误
【发布时间】:2013-01-11 12:25:04
【问题描述】:

首先,我是一名经验丰富的 PHP 程序员,本周末我将在 Rails 上“检查”ruby。我已经建立了一个服务器,上周我一直在学习一些教程,现在我正忙于制作一个测试应用程序。我想创建一个用户登录系统,但是当我尝试按照教程中创建表单时,它无法编译......我真的不知道如何获得详细的错误,我的 /log/production.log保持空...

错误:

We're sorry, but something went wrong.

当我从此视图中删除两个表单行时,错误消失了:

<div data-role="page">
    <div data-role="header">
        <h1>Login</h1>
    </div><!-- /header -->

    <div data-role="content">   
        <%= form_for @user do |f| %>
        <% end %>
    </div><!-- /content -->
</div>

控制器:

class UsersController < ApplicationController
  def login
    @user = User.new
  end
end

型号:

class User < ActiveRecord::Base
    validates_presence_of :email_address
    validates_presence_of :password
end

我希望有人能告诉我我做错了什么,也许我可以看到更详细的错误。我试图找到如何启用错误,但它似乎应该默认将错误输出到 ./log/production.log 而它没有。

提前谢谢你。

【问题讨论】:

  • 看起来您正在生产模式下运行应用程序?它在开发模式下是否正常工作?
  • 在开发模式下运行会得到更详细的错误信息!
  • 在开发模式下运行应用程序,或查看日志以获取错误描述
  • 谢谢你们,我没有意识到它确实在生产中完全运行。我在 nginx 配置文件中将 rails_env 更改为 development,现在我看到更多错误!如果我找到它,我会发布我的解决方案。

标签: ruby-on-rails ruby form-for


【解决方案1】:

在我的帖子中的 cmets 之后,我切换到开发以获取有关我的错误的更广泛的详细信息。这是多个错误;

  1. 我忘记在我的 routing.rb 中设置资源:用户:

    Helloworld::Application.routes.draw do
      resources :users
    
  2. 我必须清除我的 tmp 文件夹

    http://stackoverflow.com/questions/9219061/error-compiling-css-asset
    
  3. 我的 tmp 文件夹的权限是 755,应该是 777

    Permission denied - /var/rails_apps/helloworld/tmp/cache/assets/D38
    

感谢大家的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多