0

Rails アプリを作成しようとしていますが、controller.rb ファイル内の次の 1 行のコードを爆撃し続けます。

posts GET    /posts(.:format)          posts#show

誰かが私を助けることができますか?

ruby 1.9.3p429 (2013-05-15 リビジョン 40747) [x86_64-darwin12.4.0] を rails 3.2.13 で実行しています。

アップデート

上記のコード行を取り出したところ、選択したチェック ボックスの値 (タグ) を投稿するレールを取得できません。案内してもらえますか?

ここに私の posts_controller.rb ファイルがあります:

class PostsController < ApplicationController
    def new
    end

    def create
        @post = Post.new(params[:post].permit(:check_box, :label))
        @post.save
        redirect_to @post
    end

    def show
        @post = Post.find(params[:id])
    end 

    def index
        @posts = Post.all
    end 

private
    def post_params
            params.require(:post).permit(:check_box, :label)
    end

end

ここに私の new.html.erb ファイルがあります:

<h1>SWORD Mock Device Page</h1>

<%= form_for :post, url: posts_path do |f| %>
    <p>
        <h2>Android Phones</h2>
        <%= f.check_box(:razr_max1) %>
        <%= f.label(:razr_max1, "Droid Razr Max #1") %>
    </p>

    <p>
        <%= f.check_box(:galaxyS2) %>
        <%= f.label(:galaxyS2, "Samsung Galaxy S2") %>
    </p>

    <p>
        <h2>Android Tablets</h2>
        <%= f.check_box(:asusprime3) %>
        <%= f.label(:asusprime3, "Asus Transormer Prime #3") %>
    </p>

    <p>
        <%= f.check_box(:motoxoom1) %>
        <%= f.label(:motoxoom1, "Motorola Xoom #1") %>
    </p>

    <p>
        <%=f.submit "Select" %>
    </p>
<% end %>

ここに私のroutes.rbがあります:

SWORDMockDev::Application.routes.draw do

  resources :posts
  root to: "landing#index"

end

そして私のshow.html.erb:

<p>
  <strong>Device:</strong>
  <%= @post.title %>
</p>

どんな助けでも大歓迎です!!

ありがとう!!

アイアンマンティス7x

4

1 に答える 1

1

それ以外の:

def create
  @post = Post.new(params[:post].permit(:check_box, :label))
  @post.save
  redirect_to @post
end

できるよ:

def create
  @post = Post.new(post_params)
  @post.save
  redirect_to @post
end

ラベルは投稿では送信されません。チェックボックスの値のみが pry https://github.com/pry/pryを使用することをお勧めします。

def create
  binding.pry
  @post = Post.new(post_params)
  @post.save
  redirect_to @post
end

そして、params に何が入ってくるのか、何が起こっているのかを見ることができます。また、ルートをチェックアウトし、すべてが問題ないかどうかを確認します。

rake routes
于 2013-06-27T02:49:02.973 に答える