2016-04-18 2 views
0

Ich bin sehr neu zu Ruby auf Schienen und war nicht in der Lage, meine Radio-Button-Auswahlen in meiner Ansicht anzuzeigen. Ich kann sehen, dass die Antworten im Protokoll erscheinen, aber ich konnte sie nicht in den Ansichten anzeigen.Wie bekomme ich Radio-Button-Antworten in Ruby on Rails in der Ansicht zu zeigen

Mein _form.html.erb:

<%= f.label :_ %> 
<%= radio_button_tag(:comein, "Drop Off") %> 
<%= label_tag(:comein, "Drop Off") %> 
<%= radio_button_tag(:comein, "Pick Up") %> 
<%= label_tag(:comein, "Pick Up") %> 

Meine show.html.erb Ansicht:

<strong>How Order Is Coming Into Office:</strong> 
<%= @article.comein %> 

Mein Controller:

class ArticlesController < ApplicationController 
    def index 
    @articles = Article.all 
    end 

    def show 
    @article = Article.find(params[:id]) 
    end 

    def new 
    @article = Article.new 
    end 

# snippet for brevity 

def edit 
    @article = Article.find(params[:id]) 
end 

def create 
    @article = Article.new(article_params) 

if @article.save 
    redirect_to @article 
else 
render 'new' 
end 
end 

def update 
    @article = Article.find(params[:id]) 

if @article.update(article_params) 
    redirect_to @article 
else 
    render 'edit' 
end 
end 

def destroy 
    @article = Article.find(params[:id]) 
@article.destroy 

redirect_to articles_path 
end 

private 
    def article_params 
    params.require(:article).permit(:number, :address, :forename, :surname,  :ordertype, :notes, :comein, :goout) 
end 

end 

Antwort

1

Obwohl Sie nicht gebucht haben die vollständiger Code, Sie verwenden zweifellos einen form_for Helfer für Ihre Ansicht, ähnlich dem folgenden:

<%= form_for @some_object do |f| %> 
    ... 
<% end %> 

Ihr gewähltes Format bedeutet, dass Sie model object helpers rather than tag helpers wie radio_button_tag verwenden müssen. Wie können Sie den Unterschied zwischen den Helfertypen feststellen? Tag-Helfer tragen alle ein _tag Suffix. Tag-Helfer werden innerhalb einer form_tag verwendet, während Modell-Objekt-Helfer innerhalb einer form_for verwendet werden, die Sie verwenden.

Was Sie verwenden sollten, ist die radio_button helper (sowie die label Helfer).

Beispiel:

<%= f.label :comein, "Pick Up", :value => "true" %><br /> 
<%= f.radio_button :comein, true%> 
<%= f.label :comein, "Drop Up", :value => "false" %><br /> 
<%= f.radio_button :comein, false, :checked => true %> 
+0

Dank! funktioniert super jetzt – Mike

+0

@Mike Frohes Ding hat für dich geklappt. Wenn Sie möchten, klicken Sie bitte auf das Häkchen oben links in der Antwort, um andere wissen zu lassen, was für Sie funktioniert hat. Diese Antwort könnte sich für jemand anderen genauso nützlich erweisen wie für Sie. – MarsAtomic