Ruby on Railsの初心者では、 "@"と ":"の参照には異なる意味があることを理解しています。 SOの中でthis postが見えましたが、これはいくつかの違いを説明しています。 @Ruby - 変数と@variableの違い
- インスタンス変数(例えば、@my_selection)
- を示しますは(例えば:my_selection)の別名を示し
私は標準を持っていたような状況に遭遇しましたMVCページ、私のwebappの他のすべてのフォーム/ページに似ています。
NoMethodError in selections#create
Showing C:/somedir/myapp/app/views/my_selections/index.html.erb where line #16 raised:
undefined method `my_selection_index_path' for #<#<Class:0x1197e5676>:0x25439c3b>
:
html.erbは
<%= form_for @my_selection do |f| %>
route.rbが、私はこのページにアクセスしようとすると、私はこのエラーを取得する
resources :my_selections
スニペットスニペット16行目はスニペットフォームです上記のn。
同じWebアプリケーション内の他のすべてのフォーム/ページは全く同じ方法で設定され、うまく動作しています。しかし、erbフォームリファレンスを:my_selectionに変更すると、このエラーは消えて、ページは正常に動作しました。
質問:正しいmy_selectionsと@my_selections:
- は違いの私の理解ですか?
- なぜ切り替えるのですか?my_selectionは私の元のエラーを解決しますか?
私のモデルが何をしているのかチェックする必要がありますが、 – JW8