2016-02-10 5 views
1

Я здание приложения блог, в котором я пытаюсь отправить некоторые значения, какRails, как отправить Params [: совершающий] значение

  1. post.id
  2. Params [: совершающий] (значение)


Так что с моими шоу действий Я посылаю эти 2 значения моего редактирования действия в моем контроллере сообщений, но я не в состоянии собрать Params [: совершить] значение. моего случая для одобрять он будет посылать «одобрить 'и для отказа он отправит «снижение», но не отправляет
[сообщений/show.html.erb]

<div id="post_content"> 
    <h1 class="title"><%= @post.title %></h1> 
    <p class="date"> 
     Submitted <%= time_ago_in_words(@post.created_at) %> Ago 
     <% if user_signed_in? %> 
     <%= link_to 'Edit', edit_post_path(@post) %> | 
      <%= link_to 'Delete', post_path(@post), method: :delete, data: { confirm: 'Are you sure?' } %> 

      <%= link_to "approve",[:edit,@post] ,commit: "Approve"%> 
     <%= link_to "decline",[:edit,@post],commit: "decline" %> 

     <% end %> 
    </p> 
    <p class="body"><%= @post.body %></p> 

    <div id="comments"> 
     <h2><%= @post.comments.count %> Comments</h2> 
     <%= render @post.comments %> 

     <h3>Add a comment:</h3> 
     <%= render "comments/form" %> 
    </div> 
</div> 


[posts_controller.rb]

class PostsController < ApplicationController 
    before_action :authenticate_user! 

    def index 
     @posts = Post.user_post(current_user).order('created_at DESC').paginate(:page => params[:page], :per_page => 5) 
    end 

    def new 
     @post = Post.new 
    end 

    def show  
     @post=find_params 
    end 

    def create 
     @post = Post.new(post_params)   
     @post.user = current_user 
     if @post.save 
      Post.upload(params[:post][:files],@post.id)   
      redirect_to @post 
     else 
      render 'new' 
     end 
    end 

    def edit 
     @post = find_params 
     puts "cccccccccc#{params[:commit]}" 
     Post.up(@post.id,params[:commit]) 
    end 

    def update 
     @post = find_params 

     if @post.update(post_params) 
      redirect_to @post 
     else 
      render 'edit' 
     end 
    end 

    def destroy 
     @post = find_params 
     @post.destroy 
     redirect_to posts_path 
    end 

    private 
     def post_params 
      params.require(:post).permit(:title, :body) 
     end 

     def find_params 
      Post.find(params[:id]) 
     end 

end 

ответ

1

Измените свой link_to тег в соответствии с этим.

<%= link_to "approve", edit_post_path(@post, commit: "Approve") %> 
    <%= link_to "decline", edit_post_path(@post, commit: "Decline" %> 
+0

И я собирать фиксации значения в моем редактирования действия моих сообщений контроллера –

+0

Использование PARAMS [: совершить] – Rubysmith

+0

Защиту редактировать \t \t @post = find_params \t \t путы «cccccccccC# {Params [: совершающие] } « \t \t \t конец –