0

外部のレガシー[coldfusion]システムにhtmlフォームがあり、新しいレールアプリのユーザーコントローラーのcreateメソッドに送信したいのですが、残念ながら私はレール初心者で無知です。

外部レガシー アプリの html は次のとおりです。

<form action="http://floating-caverns-7335.herokuapp.com/users" method= "post">
<input type="text" name="name" value="nametestvalue">
<input type="submit" name="Submit" value="testROR">

Railsアプリのコードは、ユーザーコントローラーで作成するための[標準のnoob scaffolded]メソッドです。

def create
    @user = User.new(params[:user])
    respond_to do |format|
      if @user.save
        format.html { redirect_to @user, notice: 'User was successfully created.' }
        format.json { render json: @user, status: :created, location: @user }
      else
        format.html { render action: "new" }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

最初の HTML コードを実行すると、Rails アプリによって新しいユーザー レコードが作成されますが、名前フィールドの値は空白です。指定されたとおりに名前フィールドの値を正しくロードすることを見落としているのは何ですか?

4

2 に答える 2

1

params[:user] で新しいユーザーが作成されていることがわかります。したがって、そのようなユーザーハッシュを:user => { name: "an user"}サーバーに送信する必要があり、入力名属性を変更してそれを行います。

<input type="text" name="user[name]" value="nametestvalue">

于 2013-04-16T04:20:06.380 に答える
0

この行を置き換えるだけで、

<input type="text" name="user[name]" value="nametestvalue">

これは、次のステートメントで

@user = User.new(params[:user])

現在空白の params[:user] を渡しています。これには、ユーザー属性を含める必要があります。Web ログを調べてパラメータ リストを確認することをお勧めします。firebug net パネルでも同じことができます。

お役に立てれば!

于 2013-04-16T04:12:08.520 に答える