2

ドロップダウンメニューからのユーザーの選択に応じて、フォームのセクションを更新するために使用されるパーシャルのセットがあります。さまざまな選択肢があるため、次のようなビューフォルダを作成するのではなく、次のようにします。

app/views/myview/
  _choice001.html.erb
  _choice002.html.erb
  ...
  _choice998.html.erb
  _choice999.html.erb
  _form.html.erb
  _sharedchoicestuff1.html.erb
  _sharedchoicestuff2.html.erb
  edit.html.erb
  new.html.erb

私はそれをこのようにレイアウトしたいと思います:

app/views/myview/
  choices/
    _choice001.html.erb
    _choice002.html.erb
    ...
    _choice998.html.erb
    _choice999.html.erb
    _sharedchoicestuff1.html.erb
    _sharedchoicestuff2.html.erb
  _form.html.erb
  edit.html.erb
  new.html.erb

そうすれば、フォームでどちらがOKかを変更render :partial => whateverする必要があることはわかっていますが、すべての選択テンプレートで変更する必要はありません。render :partial => "myview/choices/#{whatever}"'。'を追加する方法はありますか?render :partial => 'sharedchoicestuff1'ビューパスに移動して、選択テンプレートに含めることができるようにします。

4

1 に答える 1

2

そのためのヘルパーを作成するだけです:

def render_choice(name)
  render "myview/choices/#{name}"
end
于 2010-09-17T13:52:45.713 に答える