私はこのフォームを動作させようとしています。 Revisers
は、User
との関係がhas_one
です。未定義のメソッド入力 "NoMethodError in Revisers#new"
new.html:
<div class="container">
\t \t <%= form_for @reviser, url: new_user_reviser_path(user_id: current_user.id) do |f| %>
\t \t <div class="row">
\t \t \t <div class="div.col-md-4 select">
\t \t \t <div class="form-group">
\t \t \t \t <label>dsd</label>
\t \t \t \t <%= f.input :description %>
\t \t \t </div>
\t \t \t \t
\t \t \t </div>
\t \t </div>
<%= f.submit "Become Adviser", class: "btn btn-large btn-primary" %>
\t \t <% end %>
\t \t </div>
\t </div>
エラーログ:
Rendered revisers/_form.html.erb (30.8ms)
Rendered revisers/new.html.erb within layouts/application (31.7ms)
Completed 500 Internal Server Error in 38ms (ActiveRecord: 0.3ms)
ActionView::Template::Error (undefined method `input' for #<ActionView::Helpers::FormBuilder:0x007faf35829f10>):
11: <div class="div.col-md-4 select">
12: <div class="form-group">
13: <label>dsd</label>
14: <%= f.input :description %>
15: </div>
16:
17: </div>
app/views/revisers/_form.html.erb:14:in `block in _app_views_revisers__form_html_erb___2471522092853631188_70195247159960'
app/views/revisers/_form.html.erb:8:in `_app_views_revisers__form_html_erb___2471522092853631188_70195247159960'
app/views/revisers/new.html.erb:1:in `_app_views_revisers_new_html_erb___1451348464463745171_70195280947160'
reviserController:
class RevisersController < ApplicationController
before_action :set_reviser, only: [:show, :edit, :update]
before_action :authenticate_user!, except: [:show]
def index
@reviser = current_user.reviser
end
def show
end
def new
@reviser = current_user.build_reviser(params[:reviser])
@user = User.find(params[:user_id])
end
def create
@reviser = current_user.reviser.build(reviser_params)
if @reviser.save
redirect_to @reviser,notice: "saved...."
else
render :new
end
end
def edit
set_reviser
end
def update
set_reviser
if @reviser.update(reviser_params)
redirect_to @reviser,notice: "updated.."
else
render :edit
end
end
private
def set_reviser
@reviser = current_user.reviser
end
def reviser_params
params.require(:reviser).permit(:description, :average_start, :average_end, :max_pages, :price_per, :active)
end
end
問題は 'f.input'はその方法ではないということです存在する。おそらく、あなたは 'f.text_field'または他の多くの[Railsフォームヘルパー](http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html)の1つを意味していましたか? –
o私は単純な形からこのような形に移行しているのを見ています。だから私は入力メソッドがないと思う..笑私は今それを得る。私はちょうど仮定した原因をチェックしていませんでした。 –