输入字段在Rails数据库中显示nil

一起

我创建了一个菜谱支架,允许用户创建许多菜谱。我将user_id与控制器中的菜谱相关联,但是标题和描述在rails数据库中显示为nil。

    class CookBooksController < ApplicationController
  before_action :set_cook_book, only: [:show, :edit, :update, :destroy]


  # GET /cook_books
  # GET /cook_books.json
  def index
    @cook_books = CookBook.all
  end

  # GET /cook_books/1
  # GET /cook_books/1.json
  def show
  end

  # GET /cook_books/new
  def new
    @cook_book = CookBook.new()
  end

  # GET /cook_books/1/edit
  def edit
  end

  # POST /cook_books
  # POST /cook_books.json
  def create
    @cook_book = CookBook.new(cook_book_params)
    @cook_book.user_id = current_user.id  


    respond_to do |format|
      if @cook_book.save
        format.html { redirect_to @cook_book, notice: 'Cook book was successfully created.' }
        format.json { render :show, status: :created, location: @cook_book }
      else
        format.html { render :new }
        format.json { render json: @cook_book.errors, status: :unprocessable_entity }
      end
    end
  end

  # PATCH/PUT /cook_books/1
  # PATCH/PUT /cook_books/1.json
  def update
    respond_to do |format|
      if @cook_book.update(cook_book_params)
        format.html { redirect_to @cook_book, notice: 'Cook book was successfully updated.' }
        format.json { render :show, status: :ok, location: @cook_book }
      else
        format.html { render :edit }
        format.json { render json: @cook_book.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /cook_books/1
  # DELETE /cook_books/1.json
  def destroy
    @cook_book.destroy
    respond_to do |format|
      format.html { redirect_to cook_books_url, notice: 'Cook book was successfully destroyed.' }
      format.json { head :no_content }
    end
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_cook_book
      @cook_book = CookBook.find(params[:id])
    end

    # Never trust parameters from the scary internet, only allow the white list through.
    def cook_book_params
      params.require(:cook_book).permit(:title, :user_id, :description)
    end
end




class CookBook < ActiveRecord::Base
    belongs_to :users 
end




ActiveRecord::Schema.define(version: 20140811235307) do

  create_table "cook_books", force: true do |t|
    t.string   "title"
    t.integer  "user_id"
    t.string   "description"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  create_table "pages", force: true do |t|
    t.datetime "created_at"
    t.datetime "updated_at"
    t.text     "header"
  end

  create_table "users", force: true do |t|
    t.string   "email",                  default: "",    null: false
    t.string   "encrypted_password",     default: "",    null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",          default: 0,     null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string   "current_sign_in_ip"
    t.string   "last_sign_in_ip"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "username"
    t.string   "country"
    t.string   "address"
    t.string   "provider"
    t.string   "uid"
    t.boolean  "admin",                  default: false
  end

  add_index "users", ["email"], name: "index_users_on_email", unique: true
  add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true

end

任何帮助,谢谢!谢谢你

编辑!表格已添加

<%= form_for(@cook_book) do |f| %>
  <% if @cook_book.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@cook_book.errors.count, "error") %> prohibited this cook_book from being saved:</h2>

      <ul>
      <% @cook_book.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :title %><br>
    <%= f.text_field :title %>
  </div>
  <div class="field">
    <%= f.label :description %><br>
    <%= f.text_field :description %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

编辑!服务器日志

Started GET "/cook_books/new" for 127.0.0.1 at 2014-08-12 02:21:05 -0400
  ActiveRecord::SchemaMigration Load (0.2ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Processing by CookBooksController#new as HTML
  Rendered cook_books/_form.html.erb (30.2ms)
  Rendered cook_books/new.html.erb within layouts/application (36.9ms)
  User Load (0.4ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = 1  ORDER BY "users"."id" ASC LIMIT 1
  Rendered layouts/_header.html.erb (28.2ms)
Completed 200 OK in 335ms (Views: 306.3ms | ActiveRecord: 1.7ms)



Started POST "/cook_books" for 127.0.0.1 at 2014-08-12 02:21:15 -0400
Processing by CookBooksController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"TNDketl0ixC8Lh/aAWIGf7SWeiwHZR9ITlEEpa7/+xM=", "cook_book"=>{"title"=>"Test title", "description"=>"test description "}, "commit"=>"Create Cookbook"}
**WARNING: Can't mass-assign protected attributes for CookBook: title, description
    app/controllers/cook_books_controller.rb:28:in `create'** (Just saw this)
  User Load (0.4ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = 1  ORDER BY "users"."id" ASC LIMIT 1
   (0.1ms)  begin transaction
  SQL (0.9ms)  INSERT INTO "cook_books" ("created_at", "updated_at", "user_id") VALUES (?, ?, ?)  [["created_at", "2014-08-12 06:21:15.547634"], ["updated_at", "2014-08-12 06:21:15.547634"], ["user_id", 1]]
   (1.4ms)  commit transaction
Redirected to http://localhost:3000/cook_books/8
Completed 302 Found in 29ms (ActiveRecord: 2.9ms)


Started GET "/cook_books/8" for 127.0.0.1 at 2014-08-12 02:21:15 -0400
Processing by CookBooksController#show as HTML
  Parameters: {"id"=>"8"}
  CookBook Load (0.4ms)  SELECT  "cook_books".* FROM "cook_books"  WHERE "cook_books"."id" = ? LIMIT 1  [["id", 8]]
  Rendered cook_books/show.html.erb within layouts/application (1.4ms)
  User Load (0.3ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = 1  ORDER BY "users"."id" ASC LIMIT 1
  Rendered layouts/_header.html.erb (2.3ms)
Completed 200 OK in 34ms (Views: 30.9ms | ActiveRecord: 0.7ms

编辑!模型

class CookBook < ActiveRecord::Base
    belongs_to :users 
end
帕万

您的代码很好,但是当您查看时server log,会收到此警告

无法批量分配CookBook的受保护属性:标题,说明

然后从注释中确认您具有此gem protected_attributes。这将添加默认值attr_accessible。但是,当它附带时Rails4,不需要此gem 需要将其删除才能使工作正常。

一个小注意事项:

正如@Jaugar Chang指出的那样,您belongs_to :users应该有。belongs_to :user这将会导致进一步的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取数据库输出以显示在输入字段中

来自分类Dev

从jquery显示输入字段值,而不存储在数据库中

来自分类Dev

根据数据库列中的值显示输入字段的数量

来自分类Dev

PHP在输入字段中获取数据库数据

来自分类Dev

Rails 4形式:在选择字段中显示数据库值

来自分类Dev

Rails 4形式:在选择字段中显示数据库值

来自分类Dev

嵌套属性在数据库中显示“ nil”

来自分类Dev

PHP在数据库中添加输入字段值

来自分类Dev

输入字段未在数据库中更新

来自分类Dev

输入被更新为数据库中的错误字段

来自分类Dev

用旧值显示数据库中用户刀片laravel中不同输入字段的用户现有数据

来自分类Dev

在表单值字段中显示数据库中的值

来自分类Dev

通过搜索显示MySQL数据库中的字段

来自分类Dev

同时显示多个MySql数据库字段中的值

来自分类Dev

显示基于SQL数据库中字段值的按钮

来自分类Dev

从输入表单中查询数据库[rails]

来自分类Dev

将输入字段插入数据库

来自分类Dev

Rails 4-显示数据库表中的项目

来自分类Dev

使用数据库中的Rails显示图像

来自分类Dev

如何使用当前保存在数据库中的先前输入的数据填充输入字段?

来自分类Dev

Rails表单输入字段未保存到数据库(但created_at时间戳是)

来自分类Dev

Rails devise不会将额外的输入字段保存到数据库

来自分类Dev

数据库中的Null vs Nil

来自分类Dev

从数据库中获取数据并且在输入字段中没有获得正确的值

来自分类Dev

根据html表单输入显示从数据库中提取的数据并在html页面中显示

来自分类Dev

sqlite3数据库中的日期在Rails中返回为nil

来自分类Dev

重新输入数据库中的数据

来自分类Dev

如何通过在php mqsql中获取用户的输入来显示数据库中的数据?

来自分类Dev

PHP表单处理从输入值中获取数据但未显示在mysql数据库中

Related 相关文章

  1. 1

    获取数据库输出以显示在输入字段中

  2. 2

    从jquery显示输入字段值,而不存储在数据库中

  3. 3

    根据数据库列中的值显示输入字段的数量

  4. 4

    PHP在输入字段中获取数据库数据

  5. 5

    Rails 4形式:在选择字段中显示数据库值

  6. 6

    Rails 4形式:在选择字段中显示数据库值

  7. 7

    嵌套属性在数据库中显示“ nil”

  8. 8

    PHP在数据库中添加输入字段值

  9. 9

    输入字段未在数据库中更新

  10. 10

    输入被更新为数据库中的错误字段

  11. 11

    用旧值显示数据库中用户刀片laravel中不同输入字段的用户现有数据

  12. 12

    在表单值字段中显示数据库中的值

  13. 13

    通过搜索显示MySQL数据库中的字段

  14. 14

    同时显示多个MySql数据库字段中的值

  15. 15

    显示基于SQL数据库中字段值的按钮

  16. 16

    从输入表单中查询数据库[rails]

  17. 17

    将输入字段插入数据库

  18. 18

    Rails 4-显示数据库表中的项目

  19. 19

    使用数据库中的Rails显示图像

  20. 20

    如何使用当前保存在数据库中的先前输入的数据填充输入字段?

  21. 21

    Rails表单输入字段未保存到数据库(但created_at时间戳是)

  22. 22

    Rails devise不会将额外的输入字段保存到数据库

  23. 23

    数据库中的Null vs Nil

  24. 24

    从数据库中获取数据并且在输入字段中没有获得正确的值

  25. 25

    根据html表单输入显示从数据库中提取的数据并在html页面中显示

  26. 26

    sqlite3数据库中的日期在Rails中返回为nil

  27. 27

    重新输入数据库中的数据

  28. 28

    如何通过在php mqsql中获取用户的输入来显示数据库中的数据?

  29. 29

    PHP表单处理从输入值中获取数据但未显示在mysql数据库中

热门标签

归档