小编use*_*353的帖子

从rails 4中的link_to更新字段

我只需要一个自动更新值的link_to链接.我做了以下事情:

1)将我想要更新的字段添加到post_controller许可列表中:

#post_controller.rb
def post_params
      params.require(:post).permit(:title, :description, :file, :user_id, :category_id, :revisor_id, :visible)
    end
Run Code Online (Sandbox Code Playgroud)

2)在视图中添加了link_to链接:

<td><%= link_to 'Publish', post_path(post, visible: true), method: :put %></td>
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

#routes.rb
resources :posts do
    get 'revisions', on: :collection
  end
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

param is missing or the value is empty: post
Run Code Online (Sandbox Code Playgroud)

这是控制器:

#posts_controller.rb
class PostsController < ApplicationController
  before_action :set_post, only: [:show, :edit, :update, :destroy]

  # GET /posts
  # GET /posts.json
  def index
    @posts = Post.all
  end

  def revisions
    @posts = Post.where(revisor_id: current_user.id)
  end

  # GET /posts/1
  # GET …
Run Code Online (Sandbox Code Playgroud)

field ruby-on-rails ruby-on-rails-4

4
推荐指数
1
解决办法
2751
查看次数

标签 统计

field ×1

ruby-on-rails ×1

ruby-on-rails-4 ×1