質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

287閲覧

railsでの「Form」のデータ反映に関して

Syota

総合スコア28

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/11/09 06:02

編集2017/11/10 05:34

railsを使い簡単なアプリの開発を進めているのですが、「Form」に入力したデータを反映させるにはどの様な操作を行えば反映させる事が出来ますか??
viewの設定を行い項目名を表示する事は出来たのですが、入力したデータが反映されず空欄になってしまうので入力データを出力する設定の仕方を教えて頂きたいです。

回答よろしくお願いします。

「_form.html.erb」

<% if syotum.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(syotum.errors.count, "error") %> prohibited this syotum from being saved:</h2> <ul> <% syotum.errors.full_messages.each do |message| %> <li><%= message %></li> <% end %> </ul> </div> <% end %> <div class="field"> <%= form.label :from %> <%= form.text_field :from, id: :syotum_from %> </div> <div class="field"> <%= form.label :year %> <%= form.number_field :year, id: :syotum_year %> </div> <div class="field"> <%= form.label :school %> <%= form.text_area :school, id: :syotum_school %> <div class="field"> <%= form.label :seibetU %> <%= form.text_field :sex, id: :syotum_sex %> <div class="actions"> <%= form.submit %> </div> <% end %>

「index.html.erb」

<p id="notice"><%= notice %></p> <h1>Syota</h1> <table> <thead> <tr> <th>From</th> <th>Year</th> <th>School</th> <th>Seibetu</th> <th colspan="3"></th> </tr> </thead> <tbody> <% @syota.each do |syotum| %> <tr> <td><%= syotum.from %></td> <td><%= syotum.year %></td> <td><%= syotum.school %></td> <td><%= syotum.sex %></td> <td><%= link_to 'Show', syotum %></td> <td><%= link_to 'Edit', edit_syotum_path(syotum) %></td> <td><%= link_to 'Destroy', syotum, method: :delete, data: { confirm: 'Are you sure?' } %></td> </tr> <% end %> </tbody> </table> <br> <%= link_to 'New Syotum', new_syotum_path %> ```  「syota_controller.rb」

class SyotaController < ApplicationController
before_action :set_syotum, only: [:show, :edit, :update, :destroy]

GET /syota

GET /syota.json

def index
@syota = Syotum.all
end

GET /syota/1

GET /syota/1.json

def show
end

GET /syota/new

def new
@syotum = Syotum.new
end

GET /syota/1/edit

def edit
end

POST /syota

POST /syota.json

def create
@syotum = Syotum.new(syotum_params)

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

end

PATCH/PUT /syota/1

PATCH/PUT /syota/1.json

def update
respond_to do |format|
if @syotum.update(syotum_params)
format.html { redirect_to @syotum, notice: 'Syotum was successfully updated.' }
format.json { render :show, status: :ok, location: @syotum }
else
format.html { render :edit }
format.json { render json: @syotum.errors, status: :unprocessable_entity }
end
end
end

DELETE /syota/1

DELETE /syota/1.json

def destroy
@syotum.destroy
respond_to do |format|
format.html { redirect_to syota_url, notice: 'Syotum was successfully destroyed.' }
format.json { head :no_content }
end
end

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

# Never trust parameters from the scary internet, only allow the white list through. def syotum_params params.require(:syotum).permit(:from, :year) end

end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2017/11/09 11:01

当該部分のView, Controller のコードは公開できますか?
Syota

2017/11/10 05:21

回答して頂きありがとうございます! 畏まりました! 質問の編集を行い記載しますので確認の方、お願いしたいです!
guest

回答1

0

ベストアンサー

こんにちは。入力する form のある .html.erb ファイルに submit ボタンがあるのが標準的な入力方法です。sumit ボタンをクリックして、SQLite のテーブルにレコードが入力される(入力した値が正当なものなら)ことになります。

scaffold で自動生成して、ソースコードを読むと良いとおもいます。この場合、form は、新規レコードと、更新レコードの共用になっており、かしこい submit が、どちらかを判断してくれます。

form は、form_for ではなく、form_with で作成されます。詳細は、私もしらない(笑)のですが、レコードの入力、更新に関しては、同じような感じです。

投稿2017/11/10 03:14

nekoyama7

総合スコア200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Syota

2017/11/10 05:30

回答して頂いてありがとうございます! なるほどです! submitボタンのデータをレコードに正しく反映されているのか確認する方法等があればご回答頂けると嬉しいです。 お手数をおかけしてしまいますが、お願いします。
Syota

2017/11/10 07:04

回答ありがとうございました! 解決いたしました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問